Answers:
使用重定向,例如:
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目标并延迟时间,然后运行.bat
using重定向将整个内容输出到文件中。
请注意,此批处理文件永远不会结束,但是可以通过Ctrl+ 终止C,然后Y从运行cmd
。(您必须按Y,因为它询问您是否要停止批处理文件-即使您由于重定向输出而看不到问题,也是如此!)
ping
自身以输出不同的内容,或者进行一些有趣的脚本工作,例如-输出时间戳,ping,等待10秒,重复。
我编写了每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