参考文章:使用bat一键修改IP地址 - 李旭 - 博客园 ()
单位分内外网,每次拔掉网线得重新设置ip,之前在别人电脑上试过过小工具ip地址切换器,自己电脑却不行了,还是用bat稳一点,顺便记录下遇到的问题。
代码中需修改两点:
一、name="以太网 5"(名称中居然有空格,害我找半天= =。可以在cmd中输入netsh interface ip show addresses查看)
二、静态ip的相关信息。
1.设置ip
参数说明:
1.source:获取IP的途径。动态获取,则为dhcp,手动设置,则为static。
2.addr:要设置的IP地址。
3.mask:子网掩码。
4.gateway:网关地址。
5.gwmetric:网关跃点数,可以设置为整型数值,也可以设置为“自动”:auto。
2.设置dns
参数说明:
1.name:网络连接名称,一般为“本地连接”。你可以在“控制面板”->“网络连接”中看到。
2.source:获取IP的途径。动态获取,则为dhcp,手动设置,则为static。
3.addr:要设置的IP地址。
4.register:
5.none: 禁用动态 DNS注册。
6.primary: 只在主 DNS 后缀下注册。
7.both: 在主 DNS 后缀下注册,也在特定连接后缀下注册。
8.index:设置的DNS的顺序号。
报错:1.文件名、目录名或卷标语法不正确。检查name="以太网 5"是否输入错误;
2.dns不正确或不存在。实际已修改dns,想不报错的话在dns地址196.xx.xx.xx后 加">null"(语句中已加入)
@echo off::修改ip>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )echo 修改ip地址:1:自动获取ip, 2:内网ip, 3:外网ipset sel=set/p sel=请选择修改方式:if "%sel%"=="1" goto autoif "%sel%"=="2" goto insideif "%sel%"=="3" goto outsideecho 您没有选择修改方式。goto end:auto "以太网 5"中间有空格::netsh interface ip set address name ="以太网 5" source = dhcp::netsh interface ip set dns name ="以太网 5" source = dhcpnetsh interface ip set address name="以太网 5" source=dhcpnetsh interface ip delete dns "以太网 5" allipconfig /flushdnsecho 更改IP地址完成!goto end:insideecho 正在更改IP地址,请稍等......netsh interface ip set address name="以太网 5" source=static addr=196.73.11.23 mask=255.255.255.0 gateway=196.73.11.254 gwmetric=1netsh interface ip set dns name="以太网 5" source=static addr=196.73.11.20 >null register=PRIMARYnetsh interface ip add dns name="以太网 5" addr=196.73.11.21 >null index=2ipconfig /flushdnsecho 更改IP地址完成!goto end:outsideecho 正在更改IP地址,请稍等......netsh interface ip set address name="以太网 5" source=static addr=196.21.265.23 mask=255.255.255.0 gateway=196.21.265.254 gwmetric=1netsh interface ip set dns name="以太网 5" source=static addr=196.21.265.41 >nullipconfig /flushdnsecho 更改IP地址完成!goto endecho 更改IP地址完成!goto end:endpause:若显示文件名、目录或语法不正确,检查name是否为“以太网”。在cmd中查看netsh interface ip show addresses