スポンサーリンク

[Windows]バッチファイルで固定IPとDHCPとプロキシ設定を入れ替える

ネットワーク設定を簡単に切り替えたい

パソコンの用途や使用するアプリケーションによって回線を切り替える必要のあるパソコンがあります。切り替えるたびにLANの設定を変更するのが面倒になってきたので、バッチファイルで切替ることにしました。DHCPと固定IPの入れ替え及び、固定IPの場合はプロキシ接続の設定を有効化するようにしました。Windows 11/10で動作確認済みです。

ネットワーク切替bat

バッチファイルの内容

メモ帳などのテキストエディタで拡張子を.batにして保存してください。

@echo off
rem ///////////////////////////////////////////
rem
rem DHCP と 固定IP&プロキシ設定を入れ替える
rem バッチファイル
rem
rem ///////////////////////////////////////////

:menu

set NUM=
set IFNAME="イーサネット 3"
rem set IFNAME="ローカル エリア接続"


CLS
echo -------------------- MENU --------------------
echo [1] 現在のIPアドレスを表示 (ipconfig)
echo [2] 固定IPとプロキシの設定を有効化
echo [3] DHCPとプロキシの設定を無効化
echo [4] インターネット(IE)のプロパティを開く
echo [5] 終了
echo ----------------------------------------------
echo.
set /p NUM="実行する処理の番号を入力 > "
if "%NUM%"=="1" goto ipconfig
if "%NUM%"=="2" goto addIpProxy
if "%NUM%"=="3" goto dhcp
if "%NUM%"=="4" goto inetcpl
if "%NUM%"=="5" goto end
goto NoNumber

rem -------------------------------------------
:ipconfig
ipconfig
pause
goto menu

rem -------------------------------------------
:addIpProxy

set IPADDR=192.168.1.100
set MASK=255.255.255.0
set GW=192.168.1.254
set DNS1=192.168.1.251
set DNS2=192.168.1.252
set PROXYIPaddr=192.168.1.250
set PORT=8080
rem set IntraAddr=*.hoge.local

echo %IFNAME% に %IPADDR% を設定しています。
netsh interface ipv4 set address name=%IFNAME% static %IPADDR% %MASK% %GW% 1
netsh interface ipv4 set dnsservers name=%IFNAME% static %DNS1% primary validate=no
netsh interface ipv4 add dnsservers name=%IFNAME% %DNS2% index=2 validate=no
echo.

echo 現在のユーザー %USERNAME% のプロキシ設定を有効化します。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t REG_DWORD /d 1
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyServer /t REG_SZ /d %PROXYIPaddr%:%PORT%
rem reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyOverride /t REG_SZ /d %IntraAddr%
rem inetcpl.cpl
ipconfig
echo.
echo 変更が完了しました。
pause
goto menu

rem -------------------------------------------
:dhcp

echo %IFNAME% に DHCP を設定しています。
netsh interface ipv4 set address name=%IFNAME% dhcp
netsh interface ipv4 set dnsservers name=%IFNAME% dhcp
echo.

echo プロキシ接続を無効化しています。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t REG_DWORD /d 0
rem inetcpl.cpl
ipconfig
echo.
echo 変更が完了しました。
pause
goto menu

rem -------------------------------------------
:inetcpl
inetcpl.cpl
goto menu

rem -------------------------------------------
:NoNumber
echo メニューにない番号が入力されました。
echo.
pause
goto menu

rem -------------------------------------------
:end
exit
タイトルとURLをコピーしました