バッチファイルの文字コードに引っ掛かる

IPアドレスを変更するのにコマンドを使うことにした。
netshコマンドで変更できる。



固定IPアドレスの場合(管理者として実行)
netsh interface ipv4 set address “<インターフェイス名>” static <IPアドレス> <ネットマスク> <ゲートウェイ>

IPアドレスだけ変更したかったのでサブネットマスクとゲートウェイを何も書かなかったらブランクで上書きされたので注意。変更なくても同じ値を指定しよう。

それで問題はここからで、
上記netshをバッチファイルにした。が、何度やっても反映されない。
構文が間違っているかと思って、直接コマンドプロンプトで実行すると正しく反映された。

かなり調べて結局バッチファイルの文字コードがSJISでないために、インターフェイス名が正しく認識されず文字化けしていた。(windows10なら通常”イーサネット”のはず)
ちなみにこれはバッチファイルのお約束の@echo offを外してやっとわかった。
ネットワークアダプターの名前が日本語なのでこんな問題が起きたが、アダプタ名が英語なら当然問題なかった話ではある。

コメント

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