Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3927001
  • 博文数量: 421
  • 博客积分: 685
  • 博客等级: 上将
  • 技术积分: 3670
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-18 14:20
文章分类

全部博文(421)

文章存档

2012年(5)

2011年(52)

2010年(83)

2009年(67)

2008年(65)

2007年(149)

分类: WINDOWS

2010-05-27 15:18:27

百度了许多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


如果要修改完自动退出的话,把以下代码

pause
goto start


替换成

echo 5秒后自动关闭本窗口
ping -n 5 127.1>nul
exit


感谢网络共享精神.
阅读(3486) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~