我经常需要 ping 服务器来查看连接状态。有没有办法保存文本文件中的 ping 结果(输出)这样我就可以将一整天的 ping 结果保存在文本文件中。
我正在使用 Windows XP SP3。
Ping 示例:
ping 192.168.1.1 -t
(using windows' ping)
或者
ping 192.168.1.1
(using cygwin)
答案1
使用重定向,例如:
ping 192.168.1.1 -t > filename.txt
这会将程序的所有(标准)输出重定向到filename.txt
,如果不存在则会创建,如果存在则会覆盖。
您可以使用>>
而不是>
将输出重定向到文件,然后附加将结果复制到文件末尾,而不是覆盖(感谢@Jane T提醒一下)。
请注意,您将不是如果这样做,将会收到正常的屏幕输出。
更新以回应评论
为了在 ping 之间延迟并记录每次 ping 的时间,您可以编写一些脚本。
这是我编写的快速 Windows 批处理文件。它打印时间,ping Google,然后等待 3 秒钟再重复。我不是批处理文件专家,所以如果有人发现任何问题,请举报他们!这可能不是实现您所追求目标的“最佳”方法 - 这可能真的会成为一个单独的问题。
@ECHO OFF
:LOOPSTART
time /T
ping www.google.com -n 4
sleep -m 3000
GOTO LOOPSTART
将其保存在某个.bat
文件中,根据需要编辑 ping 目标和延迟时间,然后运行.bat
使用重定向将整个过程的输出泵送到文件中。您可能需要根据 Windows 版本替换sleep -m 3000
命令。timeout /T 3
请注意,此批处理文件永不结束Ctrl,但可以通过+终止C,然后Y从 运行cmd
。(您必须按 Y 因为它会询问您是否要停止批处理文件 - 即使您无法看到问题因为您已重定向输出!)
答案2
如果您使用命令提示符,只需使用以下格式将其重定向到文本文件
ping 192.168.1.1 > ping.txt
就这样就可以了。
答案3
您可以使用:
> ping 192.168.1.1 -t > ping-results
答案4
此外,如果你想在显示屏上看到 ping 结果,你可以使用这个代码
@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1
REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART