LoginSignup
0
0

バッチファイル(.bat)でPCのイーサネットIPアドレスを変更する

Posted at

ネットワークエンジニアとして構築やテストをしてきて、使用頻度はそこまで多くはないけど便利になるツールがあったので前回に引き続き紹介したいと思います。(もしかしたら、当たり前に使われているのかもしれませんが)

前回の記事

バッチファイル(.bat)とは

IT業界に転職して初めて使ったものです。
PCに入っているのは知って今したが、何かわからずそのままにしていました。

以下、バッチファイルの説明です。

(引用)
バッチファイルとは、一連の処理を記述したものであり、それをまとめて実行するためのテキストファイルです。 バッチファイルで処理を自動化でき、人為的ミスや手間の削減に役立ちます。 Windows環境下ではメモ帳を使って作成可能です。 コードを記入して拡張子を「.bat」に変更し、コマンドプロンプトから実行できます。

PCのイーサネットIPアドレスを変更するバッチファイル

ip.bat
@echo off
setlocal
set /p ipaddr=ip / subnet / gatewaynetsh interface ipv4 set addres "イーサネット 2" static %ipaddr%

ipconfig /all

pause

endlocal

ip.batの解説

@echo off

バッチファイルがコマンドの実行時にコマンドが表示されないようにするための指令です。

setlocal

変数のスコープをローカルに設定します。

これによって、スクリプトの実行が終了したときに変数がグローバルな状態に残らないようにします。

set /p ipaddr=ip / subnet / gateway:

ユーザーに**「IPアドレス」「サブネットマスク」「デフォルトゲートウェイ」**の入力を求めるプロンプトを表示します。

入力された情報を変数 ipaddr に格納します。

netsh interface ipv4 set addres "イーサネット 2" static %ipaddr%

指定したネットワークインターフェース("イーサネット 2")に対して、ユーザーが入力したIPアドレスを静的に設定します。

指定するネットワークインターフェースはコントロールパネルまたはコマンドプロンプトから確認して設定します。

私のPCの場合は、全角「イーサネット」半角スペース「 」半角英数字「2」でした。

ipconfig /all

設定されたネットワーク構成情報を表示します。

pause

バッチファイルが実行を一時停止し、ユーザーがキーを押すまで続行しないようにします。これにより、スクリプトが瞬時に閉じるのを防ぎます。

endlocal

ローカル変数スコープの終了を示します。

setlocalで設定されたローカルな変数はここで終了し、グローバルな変数に影響を与えません。

実際に動かしてみると

ip.bat実行

batファイル実行画面
image.png

仮で、

ip subnet gateway
192.168.0.10 255.255.255.0 192.168.0.254

を設定してEnterを押下します。

ip subnet gatewayのIPアドレスの間は半角スペースを入れて空けるようにします。

image.png

実行結果

image.png

IPv4アドレスの後ろに(仮承諾)と表示されていますが、次で確認をするipconfigを実行したときに仮承諾の表示は消えていると思うので問題ありません。

ipconfigを確認

image.png

「IPアドレス」「サブネットマスク」、**「デフォルトゲートウェイ」**がプロンプトで入力した値になっていることが確認できました。
コントロールパネルでも確認してみます。

コントロールパネルを確認
「コントロールパネル」>「ネットワークと共有センター」>「アダプターの設定の変更」>「指定したネットワークインターフェース」>「インターネット プロトコル バージョン 4 (TCP/IPv4) 」

image.png

設定した値になっていることが確認できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0