Windows命令行更改有线本地连接IP地址及DNS的bat脚本
有些场景需要测试网络通不通等,每次打开网络和共享中心真烦,win10右下角还进不去了,shit!
运行ncpa.cpl也打开那个界面也是费劲吧啦,索性写个bat吧!为啥要写?还不是因为懒!可以把脚本复制到带有环境变量的目录里,以后直接Win+R就行了。
功能:设置动态/静态IP、掩码、网关、及DNS
效果如下图:
脚本中添加了管理员权限请求,不然权限不足。
我是Win10系统,win7系统命令不大一样,请把38行那ipv4改成ip。注意!还有接口名称,bat中写的是我的有线网卡“以太网”。
@echo off ::请求管理员权限区块开始 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) ::请求管理员权限区块结束 :start set /p oh=静态还是DHCP?(s/d): if %oh%==s ( goto :static ) else if %oh%==d ( goto :dhcp ) else ( echo 请输入s/d! echo. goto :start ) :static set /p ip=input ip: set /p c=255.255.255.0请回车,输入任意键改为其他掩码: set mask=255.255.255.0 if not "%c%"=="" ( set /p mask=输入掩码(x.x.x.x^)^: ) set /p gw=input gw(可不填): set /p dns=input dns(可不填): netsh interface ipv4 set address "以太网" static %ip% %mask% %gw% :: Win7系统请改为下面命令↓ :: netsh interface ip set address "以太网" static %ip% %mask% %gw% if not "%dns%"=="" ( netsh interface ipv4 set dnsservers "以太网" static %dns% validate=no ) goto :end :dhcp netsh interface ipv4 set address "以太网" source=dhcp netsh interface ipv4 set dnsservers "以太网" source=dhcp :end echo. echo OK! pause