百度了许多ip地址切换器,发现这些所谓的ip地址自动切换管理软件,都不太好用,有的兼容性不,有的功能不全,有的用几次就报错。
于是乎,决定改用批处理用命令行来实现ip地址的自动切换管理,参考了网络上的范例并改善后,可实现一个网卡配置多个ip,甚至可以实现多路由配置,其实只要把原理搞懂都很简单,无非就是往批处理文件中添加命令罢了。
代码实例如下,其中“
办公室上网”实现了多个ip地址配置,用于办公室有两条线路的情况下不用修改ip地址,而只要拔插网线即可。至于多路由嘛,用route add ... -p参数自己在命令行下运行一遍即可,就不放在脚本里了。
@Echo Off
COLOR 2F
Set Prog= IP地址切换与设置工具
Set L1= ╭══════════════════╮
Set L2= ║ ║
Set L3= ╭══┤ %Prog% ├══╮
Set L4= ║ ║ ║ ║
Set L5= ║ ╰══════════════════╯ ║
Set L6= ║ ║
Set L7= ╟════════════════════════╢
Set L8= ║ 版权所有:好友网络 仅供网友们交流 翻版不究 ║
Set L9= ║───────────────.yuhuohu.── ║
Set L10= ╰────────────────────────╯
Title %Prog%
:Start
CLS
Title %Prog%——fengyuzhe
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo ║ 请选择上网环境: ║
Echo %L6%
Echo ║ [1] DHCP-Full ║
Echo ║ [2] 办公室上网 ║
Echo ║ [3] 预留 ║
Echo ║ [Q] 退出 ║
Echo %L6%
Echo %L7%
Echo ║ 注意: IP地址可以根据自己的情况调整,调整方法: ║
Echo ║ 右击这个文件,根据下面提示更改 ║
Echo %L7%
Echo %L8%
Echo %L9%
Echo %L10%
Echo.
Set Choice=
Set /P Choice= 请选择要进行的操作 (1/2/3/Q) ,然后按回车:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto home
If /I "%Choice%"=="2" Goto company
If /I "%Choice%"=="3" Goto CTC
If /I "%Choice%"=="Q" Exit
Goto Start
:home
:HOM
rem 设置变量
set Name="本地连接"
echo ------------------------------------------------------
echo 正在进行动态IP及DNS设置,请稍等
rem //可以根据你的需要更改
netsh interface ip set address name=%Name% source=dhcp >nul
echo
netsh interface ip set dns name=%Name% source=dhcp >nul
echo
echo
echo -------------------
pause
goto start
:company
@ echo off
rem 设置变量
set Nic=本地连接
rem //可以根据你的需要更改, 还无法实现设置两个ip
set Addr=192.168.1.45
set Mask=255.255.255.0
set Gway=192.168.1.254
set Dns1=218.85.157.99
set Dns2=192.168.1.254
set Addr2=134.128.1.245
set Mask2=255.255.255.192
set Addr3=10.10.10.101
set Mask3=255.255.255.0
rem //以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS
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
rem //多个ip配置,可以根据你的需要更改
echo ------------------------
echo 正在配置第二个IP地址,请稍等
echo. IP地址2 = %Addr%
echo. 子网掩码2 = %Mask%
netsh interface ip add address name=%Nic% addr=%Addr2% mask=%Mask2% >nul
echo ------------------------
echo 正在配置第三个IP地址,请稍等
echo. IP地址3 = %Addr%
echo. 子网掩码3 = %Mask%
netsh interface ip add address name=%Nic% addr=%Addr3% mask=%Mask3% >nul
echo ------------------------------------------------------
echo
echo ------------
pause
goto start
:CTC
@ echo off
rem 设置变量
set Nic=本地连接
rem //可以根据你的需要更改, 还无法实现设置两个ip
set Addr=192.168.1.30
set Mask=255.255.255.0
set Gway=192.168.1.1
set Dns1=61.128.128.68
set Dns2=61.128.192.4
rem //以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS
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 ------------------------------------------------------
echo
echo ------------
pause
goto start
|
如果要修改完自动退出的话,把以下代码
替换成
echo 5秒后自动关闭本窗口
ping -n 5 127.1>nul
exit
|
感谢网络共享精神.
阅读(3486) | 评论(0) | 转发(0) |