用bat脚本设置IP

笔记本电脑有时候需要在不同场合上网,修改IP地址就是个麻烦事。利用bat脚本就可以很轻松地完成这种设置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
echo ------------------------------
echo (1).宿舍IP
echo (2).自动获取
echo ------------------------------
echo 选择你要设置的网络:
set /p x=
if %x%*==1* goto a
if %x%*==2* goto b

:a
@echo on
netsh interface ip set address name="本地连接 2" source=static addr=59.66.141.52 mask=255.255.255.0 gateway=59.66.141.1 gwmetric=0
netsh interface ip set dns name="本地连接 2" source=static addr=166.111.8.28 register=PRIMARY
netsh interface ip add dns name="本地连接 2" addr=166.111.8.29 index=2
@echo 设置结束....
pause
exit

:b
@echo on
netsh interface IP set address name="本地连接 2" source=dhcp
netsh interface ip set dns name="本地连接 2" source=dhcp
@echo 设置结束....
pause

这里利用到了netsh。netsh是windows系统本身提供的功能强大的网络配置命令行工具,通过它可以修改计算机的网络配置。

为了方便,这里提供了两种IP配置方式:

1、静态IP

用netsh interface ip set address命令,命令格式如下:

1
Usage: set address [name=]<string>
             [[source=]dhcp|static]
             [[address=]<IPv4 address>[/<integer>] [[mask=]<IPv4 mask>]
             [[gateway=]<IPv4 address>|none [gwmetric=]<integer>]
             [[type=]unicast|anycast]
             [[subinterface=]<string>]
             [[store=]active|persistent]

其中name指的是网络连接的名字,可以在Control Panel\Network and Internet\Network Connections中查看。source可以是静态的,也可以是DHCP(相当于自动获取IP),mask为子网掩码,gateway为网关。在上述代码中把这些信息改成自己所需要的即可。代码中的14和15行分别设置了主DNS和备用DNS。

2、自动获取IP

如上所述,把网络配置成DHCP方式即可。

把上面的代码修改完成后,保存成bat文件,以管理员身份打开即可。但是我一般会把要运行的程序放在其他地方,仅仅建一个快捷方式放在桌面上。可以对快捷方式做如下修改,使得双击打开快捷方式时就是以管理员身份打开的:
右键—>Shortcut—->Advanced—->Run as administrator——>OK
这样就可以了。