Windows命令行更改有线本地连接IP地址及DNS的bat脚本

Posted zilong666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

  

以上是关于Windows命令行更改有线本地连接IP地址及DNS的bat脚本的主要内容,如果未能解决你的问题,请参考以下文章

windows netsh配置IP地址(命令行)

Windows命令行设置IP地址和DNS服务器

Windows命令行设置IP地址和DNS服务器

命令更改ip地址一

在 Windows XP 上通过命令行更改 IP 地址

windows使用命令行查看网路连接情况