【发布时间】:2018-11-27 10:24:11
【问题描述】:
我正在尝试在我的 Windows CE5.0 机器命令提示符中记录每个 ping 使用
> ping 192.168.1.1 -t -l 60000 >> ping.txt
文件以单行输出开始,然后仅在按“ctrl+c”后刷新。
我想知道是否有办法强制它在每个新行中打印。
【问题讨论】:
我正在尝试在我的 Windows CE5.0 机器命令提示符中记录每个 ping 使用
> ping 192.168.1.1 -t -l 60000 >> ping.txt
文件以单行输出开始,然后仅在按“ctrl+c”后刷新。
我想知道是否有办法强制它在每个新行中打印。
【问题讨论】:
我不知道有什么直接的方法可以做到这一点。
但您可以通过在(无限)循环中执行单个 ping 请求并在循环中写入日志文件来解决此问题,如下所示:
for /L %I in () do @(timeout 1 > nul & ping 192.168.1.1 -n 1 -l 60000 | find "TTL=" >> "ping.txt")
timeout 1 命令在每次循环迭代中建立一秒延迟以避免 CPU 负载过重,> nul 抑制其控制台输出。
find 命令用于从肯定回复(如Reply from 192.168.1.1: bytes=60000 time<1ms TTL=128)中过滤出包含TTL 的行。如果需要,您可以将其更改为 findstr /B /C:"Reply from " /C:"Request " /C:"Ping request ",例如,以捕获正面回复以及 Request timed out. 或 Ping request could not find host ... 等负面回复,或者您可以将其完全删除(也是 |)以编写整个ping对文件的响应,包括页眉和页脚。
【讨论】: