【コードあり】batファイルでIPアドレスを変更する処理

パソコン&スマホ
スポンサーリンク

WindowsのパソコンにIPアドレスを設定したい場合は「設定→ネットワークとインターネット」から設定を行うことが出来ますが、実はbatファイルを使用してIPアドレスを設定することも可能です。

こちらの方法であればbatファイルを起動するだけでIPアドレスの設定を行うことが出来るので、わざわざ設定画面を開いて設定値を入力する手間が省けます。

この記事では「batファイルでIPアドレスを設定する方法」について解説を行っていくので、ぜひ参考にしてください。

IPアドレスを設定するbatファイルの処理

それではここからは、実際にbatファイルでIPアドレスを変更する処理について解説を行います。

一部ご自身のネットワーク環境に合わせて変更してもらわないと動作しない部分がありますが、基本的には下記のコードをほぼそのまま使用すればbatファイルでIPアドレスの変更が可能です。

基本処理

@echo off

set interface="イーサネット"
set address=192.168.0.101
set subnet=255.255.255.0
set gateway=192.168.0.1
set dns1=1.1.1.1
set dns2=8.8.8.8

netsh interface ip set address name=%interface% static %address% %subnet% %gateway%
netsh interface ipv4 set dns name="%interface%" source=static address=%dns1% register=primary validate=no
netsh interface ipv4 add dns name="%interface%" address=%dns2% index=2 validate=no

pause

実際に使用する際は、上記コードの2~7行目の変数の内容を自身の端末・環境にあわせて変更してください。

2行目のインターフェース名の設定値については、次の項目で確認方法を説明します。

3~7行目については、もし分からなければネットワークに繋がった状態で「ipconfig /all」などで確認してください。

このコードを使っても大丈夫ですが、実際に使用する時に便利な処理をいくつか入れたコードを後述するので、そちらのコードを利用するのがおすすめです!

補足① インターフェース名の調べ方

設定項目中の「インターフェース名」についてですが、下記の方法で調べてください。

手順① キーボードの「Windowsキー」と「Rキー」を押す

まずはPCのキーボードにある「Windowsキー」と「Rキー」を押して「ファイル名を指定して実行」の画面を出しましょう。

手順② 出てきた画面に「ncpa.cpl」と入力して「Enterキー」を押す

画面が出てきたら「ncpa.cpl」と入力して「Enterキー」もしくはOKボタンを押してください。

手順③ ネットワークに接続されているインターフェース名を確認する

次に、現在使用しているネットワークインターフェースの名前を確認します。

上記の場合だと「Wi-Fi」がインターフェース名なので、この場合に使用するコードは「set interface=”Wi-Fi”」になります。

ここで指定したインターフェースに対してIPアドレスの設定が行われるため、本当はWi-Fiを使用しているのに間違って「イーサネット」を指定してしまった場合、イーサネットのIPアドレスが変わってしまい正しく設定が行われないので注意してください。

補足② 使用上の注意点

ここからは使用上の注意点について説明します。

下記の注意点を守らないとbatファイルが正常に動作しないことがあるので、十分に確認したうえでbatファイルの作成・実行を行ってください。

注意点1 batファイルを保存するときは「Shift_JIS」で保存する。

batファイルは「Shift_JIS」形式で保存するようにしましょう。やり方としては、bat用のコードが書かれたファイルを保存する際に「名前を付けて保存」→「文字コード:ANSI」にして保存するだけです。

文字コードはデフォルトでは「UTF-8」になっていますが、文字コードがUTF-8のbatファイルを実行すると日本語が文字化けしてしまいます。

batファイルに日本語が含まれていなければ大丈夫な場合もありますが、コメントやインターフェース名に日本語が含まれているとエラーが出るので「Shift_JIS」に変更してください。

注意点2 batファイルを使用する際は管理者権限で実行

このIPアドレスの変更を行う処理は、batファイルを管理者権限で実行しないと動作しません。

batファイル実行時に「右クリック」→「管理者権限で実行」でbatファイルを管理者権限で実行できるので、間違えてダブルクリック等で起動しないようにしましょう。

なお、powershellを使用すれば「一般ユーザーでの実行時に管理者権限でbatファイルを再実行する」という処理も作成可能なので、後述の「実用例」のコードではそちらの処理も組み込んだコードを紹介します。

実用例

では、ここからは上記の基本構文を使用して実用性のあるサンプルコードを作成していきます。

基本的な処理は先ほどのコードと変わりませんが、実際に使用する際にあったら便利な機能を少し付け加えているので、こちらの方が使いやすいと思います。

IPアドレスを固定IPに設定

まずはIPアドレスを「固定IP」にする実用例のコードです。

@echo off

REM 一般ユーザーで開いた時に管理者権限で再実行する
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" || (
echo 管理者権限が必要です。再実行します...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)

REM 設定内容の確認(ここを変更してください)
set interface="イーサネット"
set address=192.168.1.101
set subnet=255.255.255.0
set gateway=192.168.1.1
set dns1=1.1.1.1
set dns2=8.8.8.8

REM IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバの設定
>nul netsh interface ip set address name=%interface% static %address% %subnet% %gateway%
>nul netsh interface ipv4 set dns name="%interface%" source=static address=%dns1% register=primary validate=no
>nul netsh interface ipv4 add dns name="%interface%" address=%dns2% index=2 validate=no

REM 完了メッセージ
echo IPアドレスの設定が完了しました!
echo IPアドレスを「%address%」に設定しました!

pause

こちらが実際に使用するケースに合わせて少し便利な機能を付けたコードです。

実際に使用する際は、「設定内容の確認(ここを変更してください)」と書かれた部分を自身の端末・環境に合わせて変更して、文字コードを「Shift_JIS」で保存してから使用してください。

なお、前述したサンプルコードとの違いは下記の通りです。

  • 一般ユーザ権限で実行した場合に、自動的に管理者権限で再実行するように設定。
  • netshコマンド実行時に余計な空白が出てこないように「>nul」を追加。
  • コメントおよび完了メッセージを設定。

基本的な処理自体は変わっていませんが、こちらの方が使いやすいと思います。

IPアドレスをDHCPに設定

次はIPアドレスを「DHCP」にする実用例のコードです。

@echo off


REM 管理者権限の確認と再実行
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" || (
echo [INFO] 管理者権限が必要です。再実行します...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)

REM 変数の設定(ここを変更してください)
set interface="イーサネット"

REM DHCPの有効化
>nul netsh interface ip set address name=%interface% source=dhcp
>nul netsh interface ip set dns name=%interface% source=dhcp

REM 完了メッセージ
echo IPアドレスの設定が完了しました!
echo IPアドレスをDHCPに設定しました!

pause

こちらはDHCP用です。

DHCPの場合はネットワークインターフェースの名前だけ変更してから文字コードを「Shift_JIS」にして保存してから使用してください。

まとめ:batファイルでIPアドレスを変更する処理を解説!

今回の記事ではbatファイルを使用してIPアドレスを変更する処理を解説していきました。

この方法を使用することで、わざわざ設定画面を開いてIPアドレスを入力して変更せずとも、batファイルをダブルクリックするだけで設定変更が可能になります。

最近はテレワーク等の普及もあり、「会社のネットワークと自宅のネットワークを頻繁に切り替える」などのシチュエーションも多いと思うので、IPアドレスの切替を簡単にしたい方はぜひ使ってみてください。

タイトルとURLをコピーしました