Parsing 批处理文件-从一个ping抓取多行
我们正试图向我们的互联网公司证明,我们的互联网比他们说的要频繁得多。 为了做到这一点,我在100小时内每隔(大约)15分钟向ping google.com写一次批处理文件,并将结果打印到文本文件中。唯一的问题是,我想获取一行,它告诉您有多少数据包成功/失败,以及毫秒行中的时间。 以下是我目前掌握的情况:Parsing 批处理文件-从一个ping抓取多行,parsing,batch-file,ping,Parsing,Batch File,Ping,我们正试图向我们的互联网公司证明,我们的互联网比他们说的要频繁得多。 为了做到这一点,我在100小时内每隔(大约)15分钟向ping google.com写一次批处理文件,并将结果打印到文本文件中。唯一的问题是,我想获取一行,它告诉您有多少数据包成功/失败,以及毫秒行中的时间。 以下是我目前掌握的情况: @echo off set/a x=0 :A echo %date% %time >> final.txt ping google.com | Find "Mini" >>
@echo off
set/a x=0
:A
echo %date% %time >> final.txt
ping google.com | Find "Mini" >> final.txt
timeout /t 900 /nobreak > NUL
set /a x+=1
if %x% LSS 400 goto :A
我也可以通过管道将ping结果传输到.txt,但我仍然不确定如何从那里解析。使用
findstr
。它可以搜索多个字符串(用空格分隔):
(您必须将“Minimum”和“Pakete”翻译成您的当地语言)
在您的特殊情况下,您还可以搜索=
:
为什么要尝试以批处理脚本的形式执行此操作?我总是发现用实际语言编写脚本要容易得多。@Jashaszun:为什么不呢?“最好”的语言并不总是最实际的。正如我所说:“使用,你最了解的”@Stephan只是像Python或C#这样的实际语言比批处理文件命令具有更好的字符串操作。这两种语言中的一种语言的字符串操作代码总是比批处理文件中的相同代码更清晰。@Jashaszun批处理脚本对我来说是最快和最容易访问的语言,因为我们的互联网目前充其量是不稳定的,而我的爸爸相当流利(但他现在在工作中无法联系,这是我需要的最后一部分)。
ping google.com | Findstr "Minimum Pakete" >> final.txt
ping google.com | Find " = " >> final.txt