zoukankan      html  css  js  c++  java
  • 非常实用的原创小工具:EasyIP

    转载至:http://blog.sina.com.cn/s/blog_46dac66f010008aa.html
     
    【性质】批处理程序
    【用途】方便在多个ip间切换
    【适用】懂一点bat,喜欢小巧和命令行,常要切换IP
    【作者】LiLe
    【主页】暂无,呵呵,就到这里来找更新吧(如果需要更新的话)
    【文献】快速切换ip没必要用工具
    【提示】高级用户可以据此修改,精简掉很多内容;命令行支持参数,因此我的习惯是"ip bj" "ip 0"而不是进入后再选菜单。
    非常实用的原创小工具:EasyIP
    源代码如下(请将之保存为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创作共用协议,可保留本信息并<署名、非商业和保持一致>转载

  • 相关阅读:
    Azure PowerShell (2) 修改Azure订阅名称
    Windows Azure Platform Introduction (11) 了解Org ID、Windows Azure订阅、账户
    Azure PowerShell (3) 上传证书
    Azure PowerShell (1) PowerShell入门
    Windows Azure Service Bus (2) 队列(Queue)入门
    Windows Azure Service Bus (1) 基础
    Windows Azure Cloud Service (10) Role的生命周期
    Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书
    Android studio 使用心得(一)—android studio快速掌握快捷键
    android 签名、混淆打包
  • 原文地址:https://www.cnblogs.com/flyingZFX/p/5016169.html
Copyright © 2011-2022 走看看