标题: [网络连接] 批处理怎样记录ping丢包的时间? [打印本页]
作者: kindao 时间: 2010-7-6 12:36 标题: 批处理怎样记录ping丢包的时间?
详细要求:
我们公司要一个VPN常常掉线,但是我们又查找不了网络原因。
所以想用一台机常Ping
但是Ping 又不能记录当前的时间
我在网上找了一下相关资料,也没有得到我想要的效果
我想这个批处理可以得到以下信息:
2.记录丢包大于5包的系统时间
3.记录延时大于500的系统时间《这里是时间》
4.记录因掉线后ADSL重新获得公网IP后。系统的时间
Ping 的地址:ping guoxin006.free.ezvpn.cn -t
那位达人帮帮忙啊。
感激不尽啊
QQ:52252284
请给出原代码啊
我不是很懂批处理
[ 本帖最后由 kindao 于 2010-7-6 19:17 编辑 ]
作者: caruko 时间: 2010-7-6 12:51
你只要去掉 -t 参数,然后用循环来做,ping -t 一直工作,根本不返回。
每个循环发一个包, ping -n 1 ,然后找出 IP,LOST,TIMS 的值赋给变量处理就可以了
作者: kindao 时间: 2010-7-6 13:26
我不懂批处理
能否给出完整的代码?
作者: caruko 时间: 2010-7-6 17:33
- @echo off&setlocal enabledelayedexpansion
- set "ip_address=[59.33.105.53]"
- rem 设置初始IP;
- :loop
- set /a packets+=1
- for /f "delims=*" %%i in ('ping -n 1 guoxin006.free.ezvpn.cn^|findstr "Pinging Reply Request" ') do (
- call :%%i
- )
- goto :loop
- :Pinging
- rem 获取对应DNS的IP地址
- if not %ip_address%==%2 echo;[IP] %time% ip_address change to %2>>log.txt
- set "ip_address=%2"
- goto :eof
- :Reply
- rem 获取延迟时间;
- set "tm=%6"
- set tm=!tm:~0,-2!
- echo !tm!
- if !tm! geq 500 echo;[Delay] %time% Approximate round trip time=%6>>log.txt
- goto :eof
- :Request
- rem 记录丢包;
- set /a loss+=1
- set /a _loss+=1
- set /a lp= loss*100 / packets
- if !_loss! geq 5 (
- set /a _loss=0
- echo;[Packets] %time% Packets: Sent = !packets!, Received = !packets!, Lost = !loss! [!lp!%% loss]>>log.txt
- )
- goto :eof
复制代码
修改过的
[ 本帖最后由 caruko 于 2010-7-7 13:34 编辑 ]
作者: kindao 时间: 2010-7-6 19:09
caruko
可以给我讲解一下吗?
我看不懂
谢谢你啊!!
作者: pdanniel66 时间: 2010-7-6 20:40
- @echo off&setlocal enabledelayedexpansion
- :x
- for /f "tokens=1,3,7,9 delims==: " %%i in ('ping 10.185.56.28 -n 1') do (set k=%%k
- if /i "%%i"=="Reply" if !k:~0^,-2! gtr 100 >>[font=SimSun][size=9pt]大于[/size][/font]100ms.log echo Reply from %%j bytes=32 time=%%k TTL=%%l at %date% %time%
- if /i "%%i"=="Request" >>out.log echo ping NFS Server IP:10.185.56.28 that Request timed out at %date% %time%.)
- goto :x
复制代码
作者: kindao 时间: 2010-7-9 12:07
我试了一下,怎么不能用呢。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |