図 ネットワーク設定を切り替えるスクリプト・ファイルの例
図 ネットワーク設定を切り替えるスクリプト・ファイルの例
[画像のクリックで拡大表示]

netsh interface ip show addressで設定を検出後に適切なスクリプトを実行するバッチを用意

 ノート・パソコンを持ち歩いていると,接続するネットワーク環境が変わったときなどにワンタッチで簡単にネットワーク設定を切り替えたい場合があります。このようなときは,netsh interface ipコマンドを使えば,それぞれのネットワーク向けの設定をバッチ・ファイルで簡単に切り替えられます。同様の目的に特化したフリーソフトも存在しますが,Windows標準の機能だけで実現可能です。

 具体的には,まず「netsh interface ip show address」と実行して表示される"DHCP 有効"項目を抽出し,その内容によってnetshコマンドでのスクリプト実行内容を使い分けるようにします。そうすることで,バッチ・ファイルを実行すると,ネットワーク設定の状態に合わせて,静的IPアドレス設定とDHCP自動設定が入れ替わります。

 実際に実行するバッチ・ファイルは以下の通りです。バッチ・ファイルのほかに,静的IPアドレス設定とDHCP設定それぞれのスクリプト・ファイルを用意し,同じディレクトリに置いておく必要があります。設定が変わった場合には,このスクリプト・ファイルを差し替えるだけでよいので,便利です。スクリプト・ファイルの例は図を参照ください。

バッチ・ファイルの内容
----
@echo off

rem 静的IPアドレスとDHCP自動設定を交互に切り替える

setlocal
for /f "tokens=3" %%i in (
'netsh interface ip show address "ローカル エリア接続" ^| find "DHCP 有効"'
) do set enabledh=%%i
if %enabledh% == はい (
netsh -f staticip.nsh
) else (
netsh -f dhcpip.nsh
)
----