Как зациклить выполнение команды в bat-файле?
- Bot
- 25.01.2020
- 27 249
- 4
- 05.02.2021
- 61
- 61
- 0
- Содержание статьи
Описание
Иногда необходимо создать 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 секунд.
Добавить комментарий