Board logo

标题: 求监视网络状况的p [打印本页]

作者: zzybq     时间: 2010-3-27 21:13    标题: 求监视网络状况的p

我想通过ping命令ping 192.168.43.23 -t的返回结果来达到监视网络丢包的情况。
当出现time out时,记录下该时的时间。有几个time out 就记录几条记录
作者: zzybq     时间: 2010-3-28 10:06
没有一个回复
作者: Hanyeguxing     时间: 2010-3-28 13:37

:x
ping 192.168.43.23 -n 1 >nul 2>nul
if %ERRORLEVEL%==1 echo Request times out. %data% %time% >>log.log
goto :x
这个时候对于ping不要使用-t参数
作者: zzybq     时间: 2010-4-3 21:42
感谢楼上的帮助
作者: pdanniel66     时间: 2010-4-4 07:21
谢谢Hanyeguxing提供,

如果 ping 的 time > 100ms也想一起记录下来(纪录到不同LOG),该如何修改以上 P?

Reply from 168.95.1.1: bytes=32 time=15ms TTL=243
作者: Hanyeguxing     时间: 2010-4-4 14:11


  Quote:
Originally posted by pdanniel66 at 2010-4-4 07:21:
谢谢Hanyeguxing提供,

如果 ping 的 time > 100ms也想一起记录下来(纪录到不同LOG),该如何修改以上 P?

Reply from 168.95.1.1: bytes=32 time=15ms TTL=243


@echo off&setlocal enabledelayedexpansion
:x
for /f "tokens=1,3,7,9 delims==: " %%i in ('ping 192.168.43.23 -n 1') do (set k=%%k
if /i "%%i"=="Reply" if !k:~0^,-2! gtr 100 >>大于100ms.log echo Reply from %%j bytes=32 time=%%k TTL=%%l
if /i "%%i"=="Request" >>out.log echo Request timed out.)
goto :x
在需要的地方插入echo %data% %time%

[ Last edited by Hanyeguxing on 2010-4-4 at 14:31 ]
作者: pdanniel66     时间: 2010-4-4 18:03
谢谢Hanyeguxing提供,
以下語法不懂,,可否解釋, Thanks
if !k:~0^,-2! gtr 100
作者: Hanyeguxing     时间: 2010-4-4 18:12


  Quote:
Originally posted by pdanniel66 at 2010-4-4 18:03:
谢谢Hanyeguxing提供,
以下語法不懂,,可否解釋, Thanks
if !k:~0^,-2! gtr 100

!k:~0^,-2!就是!k:~0,-2!,即截取变量k第一个字符到倒数第二个字符之前的所有字符
在if比较运算时,不能使用“”引起来被比较的数值,而!k:~0,-2!中的英文逗号会给作为分隔符号处理,所以加^转义
当使用如if "!k:~0^,-2!"=="1234567890"时,不使用运算功能,,也就是可以加引号。在这里的英文逗号是在引号之内的,所以可以不用转义。
作者: pdanniel66     时间: 2010-4-4 18:20
(1) Hanyeguxing这么快就回复,非常谢谢!
(2) LZ若无其它问题,建议标题注明 [已结]
作者: zaixinxiangnian     时间: 2010-4-4 20:09
在其它高手没时间的时候总是看到“Hanyeguxing”的身影,,,谢谢你对大家的帮助
作者: chardos     时间: 2010-4-4 20:46
学习了....谢谢