Как сделать ping в cmd через каждые 5 минут? Добрый вечер. имеется код :repeat setlocal enabledelayedexpansion set ip=192.168.1.205 set t=2 :# ping -4 -n 1 %ip%| find/i "TTL="&& goto # :## ping -4 -n 2 %ip%| find/i "TTL="&& (goto #& set n=)|| ( set/a n+=1& if !n! lss %t% (goto ##) else (C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm Cloud --type headless) ) TIMEOUT /T 600 /NOBREAK goto :repeat endlocal Проверяется пинг по локальному адресу, но в случае успеха пингуется по новой слишком быстро. Как можно сделать пинг раз в 5 минут? Заранее спасибо.
Для того чтобы сделать пинг раз в 5 минут, вы можете использовать команду timeout /t 300 вместо timeout /t 600 /nobreak. Это означает, что после выполнения пинга и ожидания 10 минут, скрипт будет ждать 5 минут перед следующим выполнением пинга.
Для того чтобы сделать пинг раз в 5 минут, вы можете использовать команду timeout /t 300 вместо timeout /t 600 /nobreak. Это означает, что после выполнения пинга и ожидания 10 минут, скрипт будет ждать 5 минут перед следующим выполнением пинга.
Вот ваш исправленный код:
:repeatsetlocal enabledelayedexpansion
set ip=192.168.1.205
set t=2
:#
ping -4 -n 1 %ip%| find /i "TTL="&& goto #
:##
ping -4 -n 2 %ip%| find /i "TTL="&& (goto #& set n=)|| (
set/a n+=1& if !n! lss %t% (goto ##) else (C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm Cloud --type headless)
)
timeout /t 300
goto :repeat
endlocal
Теперь пинг будет проверяться раз в 5 минут. Надеюсь, это поможет!