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


16

我经常必须ping服务器以获取连接状态。有没有一种方法可以将ping结果(输出)保存在文本文件中,以便我可以将整天的ping结果保存在文本文件中。

我正在使用Windows XP SP3。

Ping示例:

ping 192.168.1.1 -t 

(using windows' ping)

要么

ping 192.168.1.1

(using cygwin)

Answers:


17

使用重定向,例如:

ping 192.168.1.1 -t > filename.txt

这会将程序的所有(标准)输出重定向到filename.txt,如果不存在,则将创建,如果不存在,则将覆盖。

您可以使用>>而不是>将输出重定向到文件并将结果附加到文件末尾,而不是覆盖(感谢@Jane T的提醒)

请注意,如果执行此操作,将不会收到正常的屏幕输出。

更新以回应评论

要在两次ping之间延迟并记录每次的时间,可以执行一些脚本编写。

这是我放在一起的快速Windows批处理文件。它会打印时间,对Google进行ping操作,然后等待3秒钟,然后重复进行。我不是批处理文件专家,因此如果有人发现任何问题,请进行标记!这可能不是实现您追求的目标的“最佳”方法-可能确实会产生一个单独的问题。

@ECHO OFF

:LOOPSTART

time /T
ping www.google.com -n 4
sleep -m 3000

GOTO LOOPSTART

将其保存在.bat文件中的某个位置,根据需要编辑ping目标并延迟时间,然后运行.batusing重定向将整个内容输出到文件中。

请注意,此批处理文件永远不会结束,但是可以通过Ctrl+ 终止C,然后Y从运行cmd。(您必须按Y,因为它询问您是否要停止批处理文件-即使您由于重定向输出而看不到问题,也是如此!)


谢谢!效果很好,可以显示每个ping的当前时间,还是可以更改两次ping之间的持续时间
Abel,2010年

2
您必须为此编写一些脚本,而ping将无法为您执行此操作。
Azz

Azz击败了我-为此,您需要更改ping自身以输出不同的内容,或者进行一些有趣的脚本工作,例如-输出时间戳,ping,等待10秒,重复。
DMA57361 2010年

很高兴听到它可以完成。等待更多。Windows脚本必须对此进行任何操作
Abel

2
“这样我就可以将整天的ping结果保存在一个文本文件中”,您将需要使用>>将数据附加到输出文件中。
Jane T


2

如果使用命令提示符,只需使用此格式将其重定向到文本文件

ping 192.168.1.1 > ping.txt

这样就可以了。


2

我编写了每5秒ping google.com并以当前时间记录结果的脚本。在这里,您可以找到变量“ commandLineStr”的输出(带有索引)

@echo off

:LOOPSTART

echo %DATE:~0% %TIME:~0,8% >> Pingtest.log

SETLOCAL ENABLEDELAYEDEXPANSION
SET scriptCount=1
FOR /F "tokens=* USEBACKQ" %%F IN (`ping google.com -n 1`) DO (
  SET commandLineStr!scriptCount!=%%F
  SET /a scriptCount=!scriptCount!+1
)
@ECHO %commandLineStr1% >> PingTest.log
@ECHO %commandLineStr2% >> PingTest.log
ENDLOCAL

timeout 5 > nul

GOTO LOOPSTART

1

另外,如果要在显示中查看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

1

:: PIng ISP每1秒将日期,时间和结果写入文本文件

@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
ping 8.8.8.8 -n 1 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.