标题: [网络连接] 批处理怎样实现VPN线路守护、监测、自动换线? [打印本页]
作者: bobo 时间: 2011-11-19 14:21 标题: 批处理怎样实现VPN线路守护、监测、自动换线?
- rem VPNIP.TXT里是VPN线路的IP列表,每个IP一行
-
- rasdial VPN name pass /phone:1%% rem VPNIP.TXT列表里的第一个IP地址
- rem vpn拨号成功后,每隔一分钟 ping google.com
- :ping
- timeout 60 >nul
- ping -n 10 -l 1 google.com >lost.txt
- timeout 60>nul
- ping -n 10 -l 1 google.com >>lost.txt
- rem 下面的不会写 :连续2次ping的掉包率超过20%或者平均延时超过600
- rasdial /DISCONNECT rem 挂断VPN
复制代码
然后 rasdial VPN name pass /phone:2%% rem VPNIP.TXT列表里的下一个IP地址 ,把TXT里的IP设成 2%% 不会啊
IF %ERRORLEVEL% EQU 0 goto ping rem 拨号成功 继续测试 直到线路不好 再次挂断 播VPNIP.TXT 里的第三行地址
IF ERRORLEVEL EQU 1 REM :拨号失败 继续拨号下一行的IP,直到成功后 goto ping 继续监测
初学批处理,请大家帮助,谢谢
作者: bobo 时间: 2011-11-19 14:49
求助:怎么提取ping命令输出的平均延迟和丢包率
还有就是怎么把VPNIP.TXT里的一行一行的ip地址设为变量提供给批处理?
作者: awk 时间: 2011-11-19 18:19
回复 2# bobo - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in (VPNIP.TXT) do (
- set ip=%%a
- echo !ip!
- )
- pause
复制代码
作者: bobo 时间: 2011-11-19 19:16
谢谢awk老师的指导,那么把ping命令结果的平均延迟和丢包率传给 IF命令比较要怎么做?
如果ping的结果延迟过高(超过600)或者丢包率过高(超过20%)
那么就要播下一条IP,
还有就是,VPN密码里面有特殊字符,用rasdial命令拨号容易密码错误,用^转义符也不起作用呢?
作者: wh1234567 时间: 2012-6-7 18:44
解决了吗?
作者: katolecyan 时间: 2014-6-11 02:20
跟楼主学习看有什么解决方案
作者: PowerShell 时间: 2014-6-16 20:11
如果ping的结果延迟过高(超过600)或者丢包率过高(超过20%)------
快4年了了!!!,
此问题终于被我关注,被我写脚本攻克 : )
http://www.bathome.net/thread-30586-1-1.html
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |