Задать вопрос

Как сделать 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 минут? Заранее спасибо.
  • Вопрос задан
  • 1537 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@SSK28 Автор вопроса
Добавил перед ping -4 -n 1 %ip%| find/i "TTL="&& goto # строку TIMEOUT /T 300 /NOBREAK.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Скачать/создать консольную утилиту задержки времени исполнения.
2. Использовать менеджер назначенных задач.

Тут все способы.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Компьютерные сети
software engineer
Зачем пинг?

@echo off
SETLOCAL EnableDelayedExpansion

:beginloop
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list runningvms | FINDSTR Cloud
if %errorlevel% EQU 0 (
  echo Is running
) else (
  echo VM is not running, tryint to start:
  rem C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm Cloud --type headless
)
timeout /T 60 /NOBREAK
goto :beginloop


А еще лучше скрипт поставить на расписание через службу расписаний, а не крутить скрипт в окошке.
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Однако первый пинг должен быть таким:
ping -4 -n 1 %ip%| find/i "TTL=" && ( TIMEOUT /T 300 /NOBREAK ; goto # )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы