我想从ping命令中仅提取响应时间。
例如:
ping 127.0.0.1
应显示
1
1
1
1
而不是
来自127.0.0.1的回复:bytes = 32 time< 1ms TTL = 64
来自127.0.0.1的回复:bytes = 32 time< 1ms TTL = 64
来自127.0.0.1的回复:bytes = 32 time< 1ms TTL = 64
来自127.0.0.1的回复:bytes = 32 time< 1ms TTL = 64
我试图从谷歌获得解决方案,但我得到一个命令:
ping 127.0.0.1 | for / f“tokens = 5”%i in('findstr Reply')do @echo%i
显示输出如:
时间< 1ms的
时间< 1ms的
时间< 1ms的
时间< 1ms的
我想从中提取1。
如果可能,我想计算所有响应时间的总和。
答案 0 :(得分:2)
这可以在这里工作:
@echo off
for /f "tokens=4 delims=Replyfrombytes=time<ms" %%a in ('ping 127.0.0.1 ^|find "TTL" ') do echo %%a&set /a c=c+%%a
echo Total=%c%
pause
答案 1 :(得分:1)
类似的东西:
@ECHO OFF
setlocal EnableDelayedExpansion
set $total=0
for /f "tokens=5" %%i in ('ping 127.0.0.1 ^|findstr Reply') do (
set $var=%%i
set $var=!$var:time^<=!
set $var=!$var:ms=!
echo !$var!
set /a $total=!$total!+!$var!)
echo !$total!