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