问题描述:
就是做一个*.bat的批处理文件,可以改电脑IP的,免得还要点那么多改来改去的麻烦,知道的说下,万分感谢.
解析:
其实就是用的NETSH命令啦- -
建议你熟悉一下这个命令
sh
备份当前设置:sh dump interface >1.txt
将当前网络设置备份到1.TXT文件里面,这个方法可以备份3个文件分别对应你在的地方
还原:
sh exec 1.txt
这样你需要哪个文件就还原那个文件就是了
批处理内容如下:netsh
interface
ip
set
address
name="本地连接"
source=static
192.168.1.188
255.255.255.0
192.168.0.1
1
netsh
interface
ip
set
dns
"本地连接"
static
61.128.128.68 primary
netsh
interface
ip
add
dns
"本地连接" 61.128.192.68
第一行中“netsh
interface
ip
set
address”表示设置IP地址,name="本地连接"表示设置哪块网卡的地址,在网络连接中可以看到名称,一般中文版 *** 作系统为“本地连接”或“本地连接2”等,“source=static”表示设置静太IP,如果source=dhcp表示自动获取IP。当source=static时,后面要设置IP地址,子网掩码,网关,跃点数(一般设1),中间用空格分开,即批处理中的“192.168.1.188
255.255.255.0
192.168.0.1
1”。为使程序更加清晰,你也可以这样写“addr=192.168.1.188
mask=255.255.255.0
gateway=192.168.0.1
gwmetric=1”,效果一样。
第二行设置主要dns(域名服务器),static表示静太IP,primary表示主域名服务器。
第三行设置次要dns,“netsh
interface
ip
add
dns”表示添加。add
与set有区别,set会覆盖以前的设置,而add是添加一个设置,不会删除以前的设置。
@echo offSetLocal EnableDelayedExpansion
REM 依次检测同段IP,在线主机直接跳过,不在线的则自动设置成本机IP
for /l %%a in (2,1,254) do (
set IP=172.16.20.%%a
call :check
echo.&set /p =!IP! <nul
if defined online (echo 主机占用中,自动跳过) else (
netsh interface ip set address name="本地连接" static !IP! 255.255.255.0 172.16.20.1 1 >nul
echo 修改完成&goto :end
)
)
echo.
echo.&echo 找不到可用IP
:end
echo.&echo 按任意键退出
pause>nul
exit
:check
set online=
arp -a|find "%IP%" >nul 2>nul&&set online=1
ping -n 1 %IP% >nul 2>nul
arp -a|find "%IP%" >nul 2>nul&&set online=1
goto :eof
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)