批处理PING 输出文本文件,里面有REQUEST时间 10
求高手,帮忙编写一个批处理pingip,文本输出。ping-n610.105.75.50|find/i"Requesttimedout"|find/v"Replyfrom...
求高手,帮忙编写一个批处理pingip,文本输出。ping -n 6 10.105.75.50 |find /i "Request timed out"|find /v "Reply from">>e:\pingip1.txt 现在就是要文本输出REQUST TIMED 的具体时间,比如:13:12 request timed out 。 还要有输出结果加黑。
展开
3个回答
展开全部
你最在意的应该是1.txt里面需要有一个时间
而且要这个时间的返回值
需要写入日志的
我有两种格式的ping网络测试程序
一种如下:
————————————————————————————————————
10:02:21.08 路由器 来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=255
10:02:23.12 电信DNS 来自 61.128.128.68 的回复: 字节=32 时间=2ms TTL=57
10:02:25.15 网通DNS 来自 **** 的回复: 字节=32 时间=3ms TTL=249
10:02:27.19 网通网关 来自 **** 的回复: 字节=32 时间=6ms TTL=253
10:02:29.22 电信网关 来自 ****的回复: 字节=32 时间=4ms TTL=253
10:02:31.28 百度 来自 61.135.169.105 的回复: 字节=32 时间=38ms TTL=53
————————————————————————————————————
它的批处理是这样的:
————————————————————————————————————
@echo off & setlocal EnableDelayedExpansion
:1
set aa=<nul
set c=<nul
set b=<nul
set d=<nul
set e=<nul
set f=<nul
cls
md %date:~0,4%年%date:~5,2%月
for /f "delims= skip=2" %%a in ('ping **** -n 2') do if not defined aa set aa=%%a
echo %time% MR30-20 %aa% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%i in ('ping **** -n 2') do if not defined c set c=%%i
echo %time% 电信DNS %c% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%j in ('ping **** -n 2') do if not defined b set b=%%j
echo %time% 网通DNS %b% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%l in ('ping **** -n 2') do if not defined d set d=%%l
echo %time% 网通网关 %d% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%m in ('ping **** -n 2') do if not defined e set e=%%m
echo %time% 电信网关 %e% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%n in ('ping 61.135.169.105 -n 2') do if not defined f set f=%%n
echo %time% 百度 %f% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 20 >nul
echo. >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
goto 1
——————————————————————————————————————
它可以忠实的记录什么时间到什么地址的延迟
频率不高,一分钟一次。
还有一种方式:
——————————————————————————————————————
22:42:51 OK IP Response Time=55 ms,
22:42:57 OK IP Response Time=61 ms,
22:43:02 DA IP Response Time=555 ms,
22:43:38 FA IP Ping failed!
22:43:47 FA IP Ping failed!
——————————————————————————————————————
它会按照时间记录返回值,并把返回值高的以DA标记
把返回丢失的按FA标记
这样在查找断线,高延迟的时候
就可以快速的定位到时间
不过这个不是通过批处理写出来的,而是powershell。
而且要这个时间的返回值
需要写入日志的
我有两种格式的ping网络测试程序
一种如下:
————————————————————————————————————
10:02:21.08 路由器 来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=255
10:02:23.12 电信DNS 来自 61.128.128.68 的回复: 字节=32 时间=2ms TTL=57
10:02:25.15 网通DNS 来自 **** 的回复: 字节=32 时间=3ms TTL=249
10:02:27.19 网通网关 来自 **** 的回复: 字节=32 时间=6ms TTL=253
10:02:29.22 电信网关 来自 ****的回复: 字节=32 时间=4ms TTL=253
10:02:31.28 百度 来自 61.135.169.105 的回复: 字节=32 时间=38ms TTL=53
————————————————————————————————————
它的批处理是这样的:
————————————————————————————————————
@echo off & setlocal EnableDelayedExpansion
:1
set aa=<nul
set c=<nul
set b=<nul
set d=<nul
set e=<nul
set f=<nul
cls
md %date:~0,4%年%date:~5,2%月
for /f "delims= skip=2" %%a in ('ping **** -n 2') do if not defined aa set aa=%%a
echo %time% MR30-20 %aa% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%i in ('ping **** -n 2') do if not defined c set c=%%i
echo %time% 电信DNS %c% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%j in ('ping **** -n 2') do if not defined b set b=%%j
echo %time% 网通DNS %b% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%l in ('ping **** -n 2') do if not defined d set d=%%l
echo %time% 网通网关 %d% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%m in ('ping **** -n 2') do if not defined e set e=%%m
echo %time% 电信网关 %e% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 2 >nul
for /f "delims= skip=2" %%n in ('ping 61.135.169.105 -n 2') do if not defined f set f=%%n
echo %time% 百度 %f% >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
@ping 127.0.0.1 -n 20 >nul
echo. >>%date:~0,4%年%date:~5,2%月\%date:~8,2%.txt
goto 1
——————————————————————————————————————
它可以忠实的记录什么时间到什么地址的延迟
频率不高,一分钟一次。
还有一种方式:
——————————————————————————————————————
22:42:51 OK IP Response Time=55 ms,
22:42:57 OK IP Response Time=61 ms,
22:43:02 DA IP Response Time=555 ms,
22:43:38 FA IP Ping failed!
22:43:47 FA IP Ping failed!
——————————————————————————————————————
它会按照时间记录返回值,并把返回值高的以DA标记
把返回丢失的按FA标记
这样在查找断线,高延迟的时候
就可以快速的定位到时间
不过这个不是通过批处理写出来的,而是powershell。
展开全部
获取时间
方法一
如果1.txt格式为13:12 request timed out
set /p timeout=<1.txt
@echo 超时时间为%timeout:~0,5%
::冒号:是全角就改5为6
goto 到标签,取循环作用
方法二
如果1.txt格式为13:12 request timed out
用for循环分析1.txt取空格分隔的第一个变量,就是13:12
@echo 超时时间为%%i
goto 到标签,循环获取
方法一
如果1.txt格式为13:12 request timed out
set /p timeout=<1.txt
@echo 超时时间为%timeout:~0,5%
::冒号:是全角就改5为6
goto 到标签,取循环作用
方法二
如果1.txt格式为13:12 request timed out
用for循环分析1.txt取空格分隔的第一个变量,就是13:12
@echo 超时时间为%%i
goto 到标签,循环获取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ping -n 6 10.105.75.50|find /i "timed">nul && echo,%time:~0,5% request timed out>>e:\pingip1.txt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询