LovePM 发表于 2012-12-12 00:23:48

自动切换路由的批处理文件

<div id="cnblogs_post_body">背景:
  公司上网需要设置代理,家里不需要
      由于开启了vmware的vmnet8网卡,路由需要自己手工配置,否则网页访问请求总是会被发的vmnet8的网卡
问题:
      每天这样切换来切换去,甚是烦人...
解决思路:
      以前自己也有了解过bat处理,便想通过批处理的方式进行实现。网上查阅了了一些资料,确定方案可行后即可动手。
      关键命令:
      1.路由配置
      route用于配置机器的路由表,具体用法,命令行下 route /?即可
      eg:
      /*添加默认路由*/
      route add 0.0.0.0 mask 0.0.0.0 192.168.189.1 if 3 metric 1 2>nul
      2.IE代理配置
      reg IE的代理配置实际上通过操作注册表实现的。reg命令即用于进行注册表相关操作
  eg:
  /*允许代理*/
  reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f 1>nul
完整源码:
   
<div class="cnblogs_code"> 1 @echo off 2 3 REM 定义开始标签 4 5 :start 6 cls 7 REM @echo . 8 REM @echo "切换路由" 9 REM @echo "1.公司路由2.住处路由"10 REM set /p choice=请选择:11 REM if /i "%choice%"=="1" goto company12 REM if /i "%choice%"=="2" (goto home) else (goto start)13 REM 通过时间及星期智能判断14 REM for /f "delims=:" %%i in ('time /t') do set T="%%i"15 REM echo 当前时间%T%点16 REM if %T% GTR "08" (if %T% LSS "17" (goto company) else goto home) else goto home17 18 REM 通过时间及星期智能判断19 for /f "tokens=1,2* " %%i in ('date /t') do set myday="%%j"20 set /a isWorkDay=121 if %myday% EQU "星期六" (22   set /a isWorkDay=023 )24 25 if %myday% EQU "星期天" (26   set /a isWorkDay=027 )28 29 for /f "delims=:" %%i in ('time /t') do set myTime="%%i"30 echo 当前时间%myTime%点31 if %myTime% GTR "08" (if %myTime% LSS "17" (set /a myPlace=1 ) else set /a myPlace=0 ) else set /a myPlace=032 33 if %isWorkDay% EQU 1 (34   if %myPlace% EQU 1 (35         echo 今天是%myday%,属于工作日,工作时间36         goto company37   )38 ) else (39   echo 现在是我的业余时间40   goto home41 )42 43 :company 44 echo "正在进行公司路由配置..."45 route delete 0.0.0.0 2>nul46 route add 0.0.0.0 mask 0.0.0.0 192.168.189.1 if 3 metric 1 2>nul47 echo "正在进行公司代理配置..."48 REM 允许代理49 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f 1>nul 50 REM 设置代理地址51 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "192.168.60.71:80" /f 1>nul 52 REM 设置忽略地址53 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "192.*;" /f 1>nul 54 55 goto end56 57 :home58 echo "正在进行住处路由配置..."59 route delete 0.0.0.0 2>nul60 route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 if 4 metric 1 2>nul61 62 echo "正在进行住处代理配置..."63 REM 允许代理64 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f 1>nul 65 66 goto end67 :end68 pause69 exit
页: [1]
查看完整版本: 自动切换路由的批处理文件