Как зациклить выполнение команды в bat-файле?

  • 25.01.2020
  • 423
  • 0
  • 100.00%
  • 2
  • 02.02.2020
Как зациклить выполнение команды в bat-файле?

Содержимое статьи:

Описание

Иногда необходимо создать bat-файл, который будет запускать некую команду через определённый интервал времени. Для решения этой задачи можно воспользоваться Планировщиком и часто запускать bat-файл из него, а можно создать в bat-файле цикл с паузой.

Инструкция

Цикл организуется следующим образом:

:loop
... <- здесь команда для создания паузы
... <- здесь другие команды, которые необходимо выполнять в цикле
goto loop

Паузу можно создать несколькими способами. В операционных системах Windows Vista, и более новых, для этого существует команда timeout:

timeout /t 5

где параметр /t - это время ожидания в секундах.


Другая команда, которую можно использовать для данной цели (например, в Windows XP, в которой еще не присутствовала команда timeout), это команда ping:

ping -n 1 -w 100000 192.168.254.254 >nul
  • -n 1 - выполнить один запрос
  • -w 100000 - ждать ответа 100 секунд (значение указывается в миллисекундах), меняете это значение на то, которое нужно вам
  • 192.168.254.254 - IP адрес, который заведомо не существует в локальной сети, т.е. никогда не ответит на ping, поэтому команда будет выполняться до достижения таймаута
  • >nul - перенаправление всего вывода команды ping в никуда.

Кроме этого, существует утилита sleep, которая выполняет те же функции, что и команда timeout. Данная утилита не входит в стандартный состав ни одной операционной системы Windows, и устанавливается из дополнительного пакета программного обеспечения "Windows Server 2003 Resource Kit Tools" на любую операционную систему Windows. Скачать данный пакет можно с сайта Microsoft, или нашего зеркала на Яндекс.Диск.

Использование программы sleep очень простое:

sleep 5

где цифра 5 обозначает время ожидания в 5 секунд.

Была ли эта статья Вам полезна?


Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.