善用佳软 || 正文 | 文章信息 | 阅读评论 | 发表评论

非常实用的原创小工具:EasyIP

【性质】批处理程序
【用途】方便在多个ip间切换

【适用】懂一点bat,喜欢小巧和命令行,常要切换IP

【作者】LiLe

【主页】暂无,呵呵,就到这里来找更新吧(如果需要更新的话)

【文献】快速切换ip没必要用工具

【提示】高级用户可以据此修改,精简掉很多内容;命令行支持参数,因此我的习惯是”ip
bj” “ip 0″而不是进入后再选菜单。



源代码如下(请将之保存为EasyIP.bat)


::最后更新20070405,发布xbeta,作者LiLe

@echo off

title  EasyIP  v1.3

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::                          
EasyIP v1.3

::                           
作者:LiLe

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:::::::::::::::::::::::::::::系统设置信息::::::::::::::::::::::::::::::::::

@rem
菜单内容设置:========================================================

 set menu1=油服(Cosl)

 set menu2=总公司1004

 set menu3=西部公司

 set menu4=阳光(Sun)

 set menu5=备用

 set menu6=备用 

 

@rem
设置需要使用的代理服务器地址===========================================

 set ProxyServerValue=10.68.200.233:8080

@rem
无需使用代理服务器的地址,注意:”,<local>”表示激活无需使用的地址,一定要保留

 set
ProxyOverrideValue=”10.*,<local>” 

@rem
这里设置第1个IP的信息==================================================

 set MyIP1=10.56.100.143

 set MyGateWay1=10.56.100.254

 set MyMask1=255.255.255.0

 set DNS11=10.68.100.211

 set DNS21=10.68.100.212

@rem
这里设置第2个IP的信息==================================================

 set MyIP2=10.68.68.85

 set MyGateWay2=10.68.68.254

 set MyMask2=255.255.255.0 

 set DNS12=10.68.100.211

 set DNS22=10.68.100.212

@rem
这里设置第3个IP的信息==================================================

 set MyIP3=10.170.97.72

 set MyGateWay3=10.170.97.254

 set MyMask3=255.255.255.0 

 set DNS13=85.255.116.56

 set DNS23=85.255.112.146

@rem
这里设置第4个IP的信息==================================================

 set MyIP4=192.168.0.199

 set MyGateWay4=192.168.0.125

 set MyMask4=255.255.255.0 

 set DNS14=211.147.6.3

 set DNS24=202.98.96.68

@rem
这里设置第5个IP的信息==================================================

 set MyIP5=

 set MyGateWay5=

 set MyMask5= 

 set DNS15=

 set DNS25=

 

@rem
这里设置第6个IP的信息==================================================

 set MyIP6=

 set MyGateWay6=

 set MyMask6= 

 set DNS16=

 set DNS26= 

@rem
设置需要更改的网络连接名称=============================================

::  IF EXIST “%ALLUSERSPROFILE%”DESKTOP set
NetConf=”Local Area Connection”

::  IF EXIST “%ALLUSERSPROFILE%”桌面 set
NetConf=”本地连接”

set NetConf=”local”

 

@rem
设置需要测试的IP地址===================================================

  set TestIP=”10.68.68.254″

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 if “%1%”==”1″ goto IP_1

 if “%1%”==”bj” goto IP_2

 if “%1%”==”3″ goto IP_3

 if “%1%”==”4″ goto IP_4

 if “%1%”==”5″ goto IP_5

 if “%1%”==”6″ goto IP_6 

 if “%1%”==”H” goto IP_H_nomenu

 if “%1%”==”h” goto IP_H_nomenu

 if “%1%”==”S” goto IP_S

 if “%1%”==”s” goto IP_S

 if “%1%”==”P” goto IP_P

 if “%1%”==”p” goto IP_P

 if “%1%”==”N” goto IP_N

 if “%1%”==”n” goto IP_N

 if “%1%”==”T” goto IP_T_nomenu

 if “%1%”==”t” goto IP_T_nomenu

 if “%1%”==”0″ goto IP_0

GOTO
Menu

@rem
==============================================================================

:Menu

 echo.

 echo.

 echo                       
EasyIP v1.3

 echo.

 echo             
==================================

 echo                      
1:   
%menu1%

 echo                      
2:   
%menu2%

 echo                      
3:   
%menu3%

 echo                      
4:   
%menu4%

 echo                      
5:   
%menu5%

 echo                      
6:   
%menu6% 

 echo                
—————————-

 echo                      
P:   
使用IE代理服务器

 echo                      
N:   
不使用IE代理服务器

 echo                
—————————-

 echo                      
H:    帮助

 echo                      
S:   
设置说明

 echo                      
T:   
测试网络

 echo                      
0:   
自动获得IP

 echo                
—————————-

 echo                      
Q:    退出

 echo             
==================================

 set /p
input=                
请输入选择的代码[eg:1,H...]:

    if
“%input%”==”0″ goto IP_0

 if “%input%”==”1″ goto IP_1

 if “%input%”==”2″ goto IP_2

 if “%input%”==”3″ goto IP_3

 if “%input%”==”4″ goto IP_4

 if “%input%”==”5″ goto IP_5

 if “%input%”==”6″ goto
IP_6 

 if “%input%”==”H” goto IP_H

 if “%input%”==”h” goto IP_H

 if “%input%”==”S” goto IP_S

 if “%input%”==”s” goto IP_S

 if “%input%”==”P” goto IP_P

 if “%input%”==”p” goto IP_P

 if “%input%”==”N” goto IP_N

 if “%input%”==”n” goto IP_N

 if “%input%”==”T” goto IP_T

 if “%input%”==”t” goto IP_T

 if “%input%”==”Q” exit

 if “%input%”==”q” exit

 cls

 goto Menu

@rem
==============================================================================

:IP_1

 set MyIP=%MyIP1%

 set MyGateWay=%MyGateWay1%

  set MyMask=%MyMask1% 

 set DNS1=%DNS11%

 set DNS2=%DNS21%

goto end

@rem
==============================================================================

:IP_2

 set MyIP=%MyIP2%

 set MyGateWay=%MyGateWay2%

  set
MyMask=%MyMask2%  

 set DNS1=%DNS12%

 set DNS2=%DNS22%

goto end

@rem
==============================================================================

:IP_3

 set MyIP=%MyIP3%

 set MyGateWay=%MyGateWay3%

  set
MyMask=%MyMask3%  

 set DNS1=%DNS13%

 set DNS2=%DNS23%

goto end

@rem
==============================================================================

:IP_4

 set MyIP=%MyIP4%

 set MyGateWay=%MyGateWay4%

  set
MyMask=%MyMask4%  

 set DNS1=%DNS14%

 set DNS2=%DNS24%

goto end

@rem
==============================================================================

:IP_5

 set MyIP=%MyIP5%

 set MyGateWay=%MyGateWay5%

  set
MyMask=%MyMask5%  

 set DNS1=%DNS15%

 set DNS2=%DNS25%

goto end

@rem
==============================================================================

:IP_6

 set MyIP=%MyIP6%

 set MyGateWay=%MyGateWay6%

  set
MyMask=%MyMask6%  

 set DNS1=%DNS16%

 set DNS2=%DNS26%

goto end

@rem
==============================================================================

:IP_H

 cls

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 echo                          
EasyIP v1.3

 echo                           
作者:LiLe

 echo.

 echo 编写说明:

 echo    
网上有很多IP修改工具,但是要么需要安装,要么好几个文件,很不方便。

 echo    
根据实际需要,编写了本程序,仅仅使用一个几K的批处理即可完成日常需要。

 echo.

 echo 修改说明:

 echo    
使用任意文本编辑器,或直接右键选择“编辑”打开。

 echo    
在“系统设置信息”中,根据注释,设置需要修改的内容即可。

 echo    
目前提供了IP设置、代理服务器设置、网络测试等功能。

 echo    
可以根据使用情况自行调整。

 echo.

 echo 升级历史:

 echo    
V1.3 
变动较大,所有参数做成变量,可以统一修改,目前最全面最稳定的版本

 echo    
V1.1 
修改了注册表修改方式;增加了命令行参数的支持

 echo    
V1.0 
程序基本完成,实现了最基本的IP快速切换功能

 echo.

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

pause

cls

goto Menu

@rem
==============================================================================

:IP_H_nomenu

 cls

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 echo                          
EasyIP v1.3

 echo                           
作者:LiLe

 echo.

 echo 编写说明:

 echo    
网上有很多IP修改工具,但是要么需要安装,要么好几个文件,很不方便。

 echo    
根据实际需要,编写了本程序,仅仅使用一个几K的批处理即可完成日常需要。

 echo.

 echo 修改说明:

 echo    
使用任意文本编辑器,或直接右键选择“编辑”打开。

 echo    
在“系统设置信息”中,根据注释,设置需要修改的内容即可。

 echo    
目前提供了IP设置、代理服务器设置、网络测试等功能。

 echo    
可以根据使用情况自行调整。

 echo.

 echo 升级历史:

 echo    
V1.3 
变动较大,所有参数做成变量,可以统一修改 

 echo    
V1.1 
修改了注册表修改方式;增加了命令行参数的支持;

 echo    
V1.0 
程序基本完成,实现了最基本的IP快速切换功能

 echo.

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

pause

exit

@rem
==============================================================================

:IP_S

 @rem 设置

 cls

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 echo                          
EasyIP v1.3

 echo                           
作者:LiLe

 echo.

 
echo       
设置说明:

 echo. 

 
echo       
右键选择“编辑”或者用任意文本编辑器即可对本程序进行编辑,

 
echo       
所有参数均可在”系统设置信息”中根据说明进行修改。

 
echo       
目前提供的命令行参数有:

 
echo       
1-6: 调用第1-6个IP设置

 
echo       
P: 使用IE代理服务器

 
echo       
N: 不使用IE代理服务器

 
echo       
H: 调用帮助文档

 
echo       
S: 调用设置说明文档

 
echo       
T: 对指定的IP进行ping测试

 echo.

 echo
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

pause

cls

goto Menu

@rem
==============================================================================

:IP_P

 reg add
“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
Settings” /v ProxyServer /t reg_sz /d %ProxyServerValue% /f

 reg add
“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
Settings” /v ProxyOverride /t reg_sz /d %ProxyOverrideValue%
/f

 reg add
“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
Settings” /v ProxyEnable /t reg_dword /d 00000001 /f

exit

@rem
==============================================================================

:IP_N

reg add
“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
Settings” /v ProxyEnable /t reg_dword /d 00000000 /f

exit

@rem
==============================================================================

:IP_T

  cls

  ping %TestIP%

  pause

  cls

goto Menu 

@rem
==============================================================================

:IP_T_nomenu

  cls

  ping %TestIP%

  pause

  exit

@rem
==============================================================================

:IP_0

netsh interface ip set address %NetConf% dhcp

netsh interface ip set dns %NetConf% dhcp

exit

@rem
==============================================================================

:end

 netsh interface ip set address name=%NetConf%
source=static addr=%MyIP% mask=%MyMask%

 netsh interface ip set address name=%NetConf%
gateway=%MyGateWay% gwmetric=0

 netsh interface ip set dns name=%NetConf%
source=static addr=%DNS1% register=PRIMARY

  netsh interface ip add dns
name=%NetConf% addr=%DNS2%

 netsh interface ip set wins name=%NetConf%
source=static addr=none

exit


说明文件如下


EasyIP_readme.txt



About EasyIP

一、起源

EasyIP是一个很偶然的想法,因为工作的原因,每天都需要更改好几次IP地址,手工更改速度慢,而且麻烦。上网找了更改IP的工具,找的工具还算方便,但是并不是很稳定,时不时弹出出错信息,而且程序有好几个文件不说,占用的空间足足有几兆。

想想看,不就是为了切换个IP和IE的代理服务器么,真的需要这么麻烦么?

参考了xbeta老师的“善用佳软”(http://www.xbeta.info)的一篇文章:“快速切换ip没必要用工具”(http://blog.sina.com.cn/u/46dac66f010006gb),我也对常去的几个地方的IP都设置了批处理文件,而且使用了Win+Run的方式来快速使用,非常方便。但是时间长了,问题又来了,过了段时间就有了一堆设置IP的批处理文件,还有设置代理服务器的注册表文件,非常不爽。一次偶然的机会,同事随口问,需要这么多文件啊,要是能合并成一个就方便了!忽然感到的确是个很好的建议,当晚就用批处理写下了第一版。使用批处理的原因也很简单,这么简单的工作,“杀鸡焉用牛刀”?

二、思路

 程序很简单,使用netsh命令就可以实现了,增加一些参数就足够了。代理服务器的处理刚开始时使用的是在C盘新建注册表文件,然后调用注册表文件来实现,随着对批处理理解的加深,1.1以后版本直接使用reg,命令来实现,不仅克服了没有C盘时会出错的问题,而且效率更高,代码更简洁。

三、特色:

 1、小

 整个程序只有一个文件,并且这个文件只有几K!

 2、简单

 所有代码全部公开,直接右键选择“编辑”,根据提示修改相关参数,即可完成对程序的设置!包括菜单内容、网络信息、代理服务器等都可以方便的设置。

 3、加入了命令行参数的调用

比如将它的路径放在PATH内,则在“运行”中直接输入”EasyIP
参数”就可以直接使用。

四、升级历史:

    
V1.3 
变动较大,所有参数做成变量,可以统一修改,目前最全面最稳定的版本

    
V1.1 
修改了注册表修改方式;增加了命令行参数的支持

    
V1.0 
程序基本完成,实现了最基本的IP快速切换功能

※初稿200703;出处http://blog.sina.com.cn/u/46dac66f010008aa

※作者xbeta;采用CC创作共用协议,可保留本信息并<署名、非商业和保持一致>转载


收藏与订阅

 分享收藏   订阅 http://feed.xbeta.info 到:Google | 鲜果 | 抓虾

B2:发表评论

Warning: In case of spam, Please input some Chinese! e.g, 你好
 名称(必需)
 Email(必需,不会被公开)
 链接

关闭
Powered by ShareThis