@echo off
set Address=google.com
:Loop
PING -n 5 127.0.0.1>nul
echo Pinging %Address%
%SystemRoot%\system32\ping.exe -n 1 %Address% | %SystemRoot%\system32\find.exe "TTL=" > NUL >> C:\pingtest\logfile.log
if %ERRORLEVEL% EQU 0 goto :Loop
echo Trace route %Address% at %date% %time% >> C:\pingtest\logfile.log
tracert %Address% >> C:\pingtest\logfile.log
goto Loop
如果其他人需要这个,这就是我最终要做的。本质上,“Ping -n 127.0.0.1>Nul”是添加一个 5 秒计数器,以便它仅每 5 秒 ping 一次目标,5 可以更改为所需的任何值。
Windows 7 存在这个问题,其中 ping 可能会导致类似“从 192.168.1.5 回复:无法访问目标主机”。因此,它不会出错,而是从自身获得回复,而不是错误级别 1。我没有寻找错误级别 1,而是选择使用 "%SystemRoot%\system32\ping.exe -n 1 %Address 寻找 TTL 的无结果% | %SystemRoot%\system32\find.exe "TTL=" > NUL"
无论如何,我确信这里的其他答案非常相似并且可能有效,所以我将它们排名,但将其标记为答案。
谢谢大家!