因为公司有同事负责美国、日本两个城市,经常在两地来回走动,到每个城市后,都要自己手动更改相应的网络配置,况且到外地时住的是酒店,
酒店上网是自动获得IP,又要将网络设置取消,真的很麻烦!于是想起写一个批处理!来解决这个问题!主要用到的命令是netsh.
-、第一种方法是将两地的网络配置先进行本机设置,然后再导出,等用到的时候,再分别导入。
1、将现有的配置导出到d:\test.txt中:
netsh �Cc interface dump > d:\test.txt
2、将之前导出的d:\test.txt文件进行导入:
netsh -f d:\test.txt
这种方法在执行时有点慢,不如下面的方法。
二、第二种方法
语法格式:
1、设置IP、网关
netsh interface ip set address name="本地连接" static 要设置的IP地址 子网掩码 网关IP 网关跃数
2、设置主DNS、WINS
netsh interface ip set dns/wins name="本地连接" static 要设置的DNS地址 register=PRIMARY
2、设置备用DNS、WINS
netsh interface ip add dns/wins name="本地连接" 要设置的DNS地址 index=2
具体配置如下:
1、酒店.bat
@echo off
echo 取消指定网络配置,请稍等….
echo.
echo 正在设置自动获取IP地址,请稍等……
netsh interface ip set address name="本地连接" source=dhcp
echo 正在设置自动获取DNS,请稍等……
netsh interface ip set dns name="本地连接" source=dhcp
echo 设置完成!
2、美国.bat
@echo off
echo 开始设置美国网络地址!
echo 正在设置美国IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=192.168.1.18 mask=255.255.0.0
echo 正在设置美国网关,请稍等……
netsh interface ip set address name="本地连接" gateway=192.168.1.13 gwmetric=1
echo 正在设置美国主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=192.168.1.1 register=PRIMARY
echo 正在设置美国备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=192.168.1.2 index=2
echo 正在设置美国主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=192.168.1.1
echo 正在设置美国备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=192.168.1.2 index=2
echo 设置完成!
3、日本.bat
@echo off
echo 开始设置日本网络地址!
echo 正在设置日本IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=192.168.2.89 mask=255.255.0.0
echo 正在设置日本网关,请稍等……
netsh interface ip set address name="本地连接" gateway=192.168.2.24 gwmetric=1
echo 正在设置日本主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=192.168.2.1 register=PRIMARY
echo 正在设置日本备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=192.168.2.2 index=2
echo 正在设置日本主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=192.168.2.1
echo 正在设置日本备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=192.168.2.2 index=2
echo 设置完成!
至此第二种方法完成!
三、也可以在批处理中使用变量!例如美国.BAT可以按照如下方法写:
@ echo off
rem 设置变量
set Nic=本地连接
rem //可以根据你的需要更改,
set Addr=192.168.1.18
set Mask=255.255.255.0
set Gway=192.168.1.13
set Dns1=192.168.1.1
set Dns2=192.168.1.2
set Wins1=192.168.1.1
set Wins2=192.168.1.2
rem //以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS、首选WINS、备用WINS
echo ------------------------------------------------------
echo 正在进行美国IP设置,请稍等
rem //可以根据你的需要更改
echo. IP地址 = %Addr%
echo. 子网掩码 = %Mask%
netsh interface ip set address name=%Nic% source=static addr=%Addr% mask=%Mask% >nul
echo. 网关 = %Gway%
netsh interface ip set address name=%Nic% gateway=%Gway% gwmetric=1 >nul
echo. 首选DNS = %Dns1%
netsh interface ip set dns name=%Nic% source=static addr=%Dns1% register=PRIMARY >nul
echo. 备用DNS = %Dns2%
netsh interface ip add dns name=%Nic% addr=%Dns2% index=2 >nul
echo. 首选WINS = %Wins1%
netsh interface ip set wins name=%Nic% source=static addr=%Wins1% register=PRIMARY >nul
echo. 备用WINS = %Wins2%
netsh interface ip add wins name=%Nic% addr=%Wins2% index=2 >nul
echo ------------------------------------------------------
echo IP设置完成!
依个人习惯采用适合自己的方法。