[Windows]”ローカルエリア接続”を接続状態によって切り替えるコマンド

大体の人の環境でデスクトップとかタスクバーにネットワーク接続のショートカットがあると思うのですが、
接続するのはダブルクリックで出来るけども、無効にするには右クリックかプロパティから選択しなくてはならず、
そもそも現在は接続されている状態なのかを意識しなくちゃならないのが微妙に面倒では? と、ふと感じたので対策を考えました。

バッチファイルでなんとかできるかも』→出来ました。

『LAN.bat』

@echo off
setlocal
chcp 65001
set IFNAME="Local Area Connection"
set IPADDR="192.168.x.xx"
set COUNT=0
:error
set /a COUNT=COUNT+1
if "%COUNT%" == "3" goto errorout
ping -n 1 %IPADDR%
if ERRORLEVEL 1 goto error
echo host working
netsh interface set interface %IFNAME% disable
goto end
:errorout
netsh interface set interface %IFNAME% enable
:end
備考
・『chcp 65001』はコンソールの文字コードをUTF-8に変更するコマンド。
IFNAME変数に入るのが日本語だったりすると出力が変になったりすることがあるかもしれないので念のため(いらないかも)。
その場合はコンソールのプロパティからフォントをMSゴシックとか日本語に対応したフォントに変更する必要があると思います。

・IPADDR変数はLAN内のルータとか外部のDNSサーバとかpingに応答してくれるアドレスにします。

・バッチファイルは環境によって必要なパラメータや実行結果が違ってくるので各々の環境で修正が必要だと思います。

そして、『LAN.bat』をキーボードの使ってないホットキーに割り当てたりなんかすると、ボタン一つでネットワーク接続の切替が出来るようになりました!(些細過ぎる時短ネタ)

カテゴリー: Windows パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です