Задержка времени (пауза, тайм-аут) в бат-файле
Вот, нашёл в Сети рабочий пример для устройства задержки времени(пауза, тайм-аут) при выполнении команды в bat-файле:
Зачем нужна задержка (пауза, тайм-аут) при выполнении команды в bat-файле?
У всех – по-разному.Лично мне она (пауза) понадобилась вот для чего:
– Взял простенький bat-файл для очистки временных папок и бросил его в АВТОЗАГРУЗКУПрикололся, типа – чтобы этот батничек чистил временные каталоги при запуске системы.Текст батника вытащил из стандартного Total Commander-a:
cmd /c title Очистка временной папки &cd/d %temp%&rd/s/q %temp% 2>nul &cd/d %tmp%&rd/s/q %tmp% 2>nul &cd/d C:WindowsPrefetch &del *.pf 2>nul &cd/d C:WindowsTemp&rd/s/q c:windows emp 2>nul
Всё-бы ничего, да только такая процедура очистки временных папок при загрузке –сносит полезные файлы и система выдаёт окно ошибки
Досадно.Однако, устройство паузы в 30 сек. решило всю проблему.И система грузится, и папки темпов – чистятся.
Полный текст bat-файла стал теперь таким:
Использование pause
- размер шрифта уменьшить размер шрифтаувеличить размер шрифта
- Печать
- Эл. почта
Pause позволяет остановить выполнение Bat-файла до нажатия клавиши на клавиатуре. Это может быть полезно, например, если Вы хотите, чтобы пользователь подтвердил выполнение какого-то действия нажатием на клавишу. То есть, что он в своем уме и осознает, что происходит.
Смотрим пример, который копирует файл на дискету.
В момент выполнения программа остановится.
А после нажатия скопируется. Но на экране останется окно.
Если Вы не хотите чтобы оно было, вызовите последней командой cls
Использование windows script host (wsh)
Пример скрипта на JScript (sleep.js):
WScript.Sleep(WScript.Arguments(0))
Использование:
cscript //nologo sleep.js [milliseconds]
где [milliseconds] – желаемое число миллисекунд (1/1000 секунды).
Пример совмещения cmd-скрипта с js-скриптом в одном гибридном скрипте (sleep-js.cmd):
Команда ping
ping -n seconds 127.0.0.1 > nul
где seconds – желаемое число секунд 1. Строго говоря, неизвестно, сколько на самом деле длится пауза между пингами, хотя предположительно – одну секунду. Паузу в одну секунду задать не получится, поскольку пинг проходит моментально. Справка по команде: ping /?.
Пакетный файл
Использование (пауза на 1-60 секунд):
call :sleep [пауза]
Пример:
Утилита nircmd
Сайт утилиты Nircmd
nircmd wait [milliseconds]
где [milliseconds] – желаемое число миллисекунд (1/1000 секунды). Oб использовании NirCmd также рассказывается в статье Создание ярлыков при установке системы
Утилита sleep.exe
sleep [seconds]
где [seconds] – желаемое число секунд.
Sleep.exe в ZIP-архиве



