- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- set ipadd=192.168.80.0
-
- :goon
- :::::::::::::::::::::::::::获取回显的响应时间,类似于 time=123ms::::::::::::::::::::::::::::::
- for /f "skip=3 tokens=5" %%a in ('ping.exe %ipadd% -n 1 ^|findstr /i /c:"Reply from"') do (
- set t=%%a
- goto :test
- )
- :::::::::::::::::::::::::::::若上述for条件为否,视为不通,跳转到报警1,否则跳转到test,分析响应时间::::::::::::::::::::
- goto :报警1
- ::::::::::::::::::::::::::::下面的第一句,忽略掉time=123ms 的前5个字符,剩下123ms
- ::::::::::::::::::::::::::::第二句,替换ms为空,这样就剩下响应时间了
- ::::::::::::::::::::::::::::判断响应时间是否大于等于2(为了测试方便,调的比较小,而且IP是非法IP,呵呵),成立,跳转到报警2
- ::::::::::::::::::::::::::::若不成立,跳转到goon小节运行
- :test
- set t=!t:~5!
- set t=!t:ms=!
- if !t! GEQ 2 (goto :报警2)
- :::::::::::::::::::::::::::::::::::::::::::此处已更新! 09-3-20 0时1分
- goto :goon
-
- :报警1
- echo.网络不通哦,是不是该Ping 127.1 呢?
- pause>nul
- goto :goon
-
- :报警2
- echo.叫吧,使劲地叫唤!
- pause>nul
- goto :goon
复制代码 若要检测响应时间,你的就需要大改了,至少使用for /f捕获结果,然后过滤结果中无关字符,留下响应时间。
[ 本帖最后由 qq362220083 于 2009-3-20 00:02 编辑 ] |