1.需求描述
現在有win10電腦一台,但是由於辦公環境需要隨時切換內外網,所以經常需要手工配置IP地址。內外需要配置固定IP地址,外網需要配置為自動獲取IP地址
2.實現過程
2.1 代碼部分
@echo off
rem 強制獲取管理員權限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
rem //設置變量
set NAME="以太網 2"
rem //以下屬性值可以根據需要更改
set ADDR=100.101.0.19
set MASK=255.255.255.0
set GATEWAY=100.101.0.1
set DNS1=
set DNS2=
rem //以上屬性依次為IP地址、子網掩碼、網關、首選DNS、備用DNS
echo 當前可用操作有:
echo 1 設置為靜態IP
echo 2 設置為動態IP
echo 3 退出
echo 請選擇后回車:
set /p operate=
if %operate%==1 goto 1
if %operate%==2 goto 2
if %operate%==3 goto 3
:1
echo 正在設置靜態IP,請稍等...
rem //可以根據你的需要更改
echo IP地址 = %ADDR%
echo 掩碼 = %MASK%
echo 網關 = %GATEWAY%
netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %GATEWAY%
echo 首選DNS = %DNS1%
if "%DNS1%"=="" (echo DNS1為空) else netsh interface ipv4 set dns %NAME% static %DNS1%
echo 備用DNS = %DNS2%
if "%DNS2%"=="" (echo DNS2為空) else (netsh interface ipv4 add dns %NAME% %DNS2%)
echo **********已設置為靜態IP:%ADDR%***********
pause
goto 3
:2
echo 正在設置動態IP,請稍等...
echo 正在從DHCP自動獲取IP地址...
netsh interface ip set address %NAME% dhcp
echo 正在從DHCP自動獲取DNS地址...
netsh interface ip set dns %NAME% dhcp
echo **********已設置為動態IP地址***********
pause
goto 3
:3
exit
2.2 文件編碼
復制代碼到新建文本文檔.txt
中
`
點擊文件 -->> 另存為
如下圖黃色標記部分選擇編碼格式為:ANSI,注意:需要將文件的后綴名.txt
修改為 .bat
2.3 配置網卡名
在腳本中需要根據自己電腦修改相應的網卡名配置
此處我的優先網卡名是【以太網 2】(注意:字與數字2之間是存在空格的)
2.4 運行腳本
雙擊【自動配置IP地址.bat】,彈出【你要允許此應用對你的窗口進行更改嗎?】提示,選擇【是】后即可選擇配置IP