Пакетный сценарий — адрес Ping — запись в файл в случае сбоя

Я хочу пинговать IP-адрес каждые 5 секунд.

Если проверка связи не удалась, запишите дату и время в файл.

Вот моя нерабочая попытка... цикл работает по назначению, но я не могу заставить его записывать в файл, если пинг не проходит.

@ECHO OFF
set IPADDRESS=172.30.1.36
set INTERVAL=5
:PINGINTERVAL

ping %IPADDRESS% -n 1
if errorlevel 1 echo %date% %time% >> failurelog.txt

timeout %INTERVAL%
GOTO PINGINTERVAL

person adam    schedule 05.03.2014    source источник


Ответы (1)


В ipv4 команда ping повышает уровень ошибки только в случае потери пакетов. Но если вы пингуете машину в той же подсети, пакеты не теряются.

Более простой способ проверить успешность ping — это проверить строку «TTL=» в выводе ping.

ping -n 1 %ipaddress% | find "TTL=" > nul
if errorlevel 1 echo %date% %time% >> failurelog.txt
person MC ND    schedule 05.03.2014