将 Ping 输出保存到文本文件中

将 Ping 输出保存到文本文件中

我经常需要 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

相关内容