Как сделать 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 минут? Заранее спасибо.

19 Авг 2020 в 19:47
236 +1
1
Ответы
1

Для того чтобы сделать пинг раз в 5 минут, вы можете использовать команду timeout /t 300 вместо timeout /t 600 /nobreak. Это означает, что после выполнения пинга и ожидания 10 минут, скрипт будет ждать 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 300
goto :repeat
endlocal

Теперь пинг будет проверяться раз в 5 минут. Надеюсь, это поможет!

18 Апр 2024 в 10:38
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир