0
点赞
收藏
分享

微信扫一扫

使用bat一键修改ip地址(包括静态、动态ip)

梦为马 2022-03-22 阅读 99
tcp/ip

参考文章:使用bat一键修改IP地址 - 李旭2018 - 博客园 (cnblogs.com)

单位分内外网,每次拔掉网线得重新设置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 )
: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" )



echo 修改ip地址:1:自动获取ip, 2:内网ip, 3:外网ip
set sel=
set/p sel=请选择修改方式:
if "%sel%"=="1" goto auto
if "%sel%"=="2" goto inside
if "%sel%"=="3" goto outside
echo 您没有选择修改方式。
goto end


:auto "以太网 5"中间有空格
::netsh interface ip set address name ="以太网 5" source = dhcp
::netsh interface ip set dns name ="以太网 5" source = dhcp
netsh interface ip set address name="以太网 5" source=dhcp
netsh interface ip delete dns "以太网 5" all
ipconfig /flushdns
echo 更改IP地址完成!
goto end


:inside
echo 正在更改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=1
netsh interface ip set dns name="以太网 5"  source=static addr=196.73.11.20  >null register=PRIMARY
netsh interface ip add dns name="以太网 5" addr=196.73.11.21 >null  index=2

ipconfig /flushdns
echo 更改IP地址完成!
goto end

:outside
echo 正在更改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=1
netsh interface ip set dns name="以太网 5" source=static addr=196.21.265.41 >null

ipconfig /flushdns
echo 更改IP地址完成!
goto end

echo 更改IP地址完成!
goto end


:end
pause

:若显示文件名、目录或语法不正确,检查name是否为“以太网”。在cmd中查看netsh interface ip show addresses
举报

相关推荐

0 条评论