Bat файл ожидание нажатия клавиши

Команда Timeout используется в командных файлах для организации режима ожидания фиксированного интервала времени в секундах, либо интервала до нажатия клавиши на клавиатуре.

Формат командной строки:

TIMEOUT [/T] таймаут [/NOBREAK]

Параметры командной строки:

/T таймаут – Время ожидания в секундах. Допустимый интервал: от -1 до 99999 секунд.

/NOBREAK – Игнорировать нажатия клавиш, ждать указанное время.

/? – Вывод справки по использованию.

Примечание: значение таймаута, равное -1 задает неограниченное время ожидания до нажатия клавиши.

TIMEOUT /? – отобразить краткую справку по использованию команды

TIMEOUT /T 10 установить режим ожидания 10 секунд. На экран выдается информационное сообщение с отсчетом оставшегося до завершения интервала времени ( 10, 9, 8 секунд . . . ):

Время ожидания 10 сек., нажмите любую клавишу для продолжения

Нажатие любой клавиши приведет к прерыванию таймаута и переходу к выполнению следующей команды.

TIMEOUT /T 300 /NOBREAK – установить интервал ожидания 300 секунд. Нажатие любых клавиш на клавиатуре игнорируется. Нажатие комбинации CTRL+C приведет к выдаче запроса:

Завершить выполнение пакетного файла [Y(да)/N(нет)]?

При ответе N(нет) выполняется завершение таймаута и переход к выполнению следующей команды командного файла. При ответе Y(да)/ – выполняется завершение командного файла. Вместо комбинации CTRL+C можно использовать CTRL+Break.

TIMEOUT /T -1 – ожидание нажатия любой клавиши. На экран выдается сообщение:

Нажмите любую клавишу для продолжения.

Если в данной команде использовать параметр /NOBREAK , то возможен ввод только комбинации CTRL+C

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"

Читайте также:  Вызов из за границы

Установка и загрузка ОС Виндовс

Задержка времени (пауза, тайм-аут) в бат-файле

Вот, нашёл в Сети рабочий пример для устройства задержки времени
(пауза, тайм-аут) при выполнении команды в bat-файле:

echo wscript.Sleep 30000>"%temp%sleep30.vbs"
cscript //nologo "%temp%sleep30.vbs"
del "%temp%sleep30.vbs"

Работает в любой ОС Windows, аж бегом

Зачем нужна задержка (пауза, тайм-аут) при выполнении команды в 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-файла стал теперь таким:

echo wscript.Sleep 30000>"%temp%sleep30.vbs"
cscript //nologo "%temp%sleep30.vbs"
del "%temp%sleep30.vbs"
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-файле.

Начиная с VISTA, в операционных системах семейства Windows присутствует команда TIMEOUT. Эта команда принимает значение таймаута, равного фиксированному периоду времени ожидания (в секундах) до выполнения команды или ожидание до нажатия клавиши. Имеется также параметр, зaдающий игнорирование нажатий клавиш.

Читайте также:  Почему некоторые файлы не удаляются

Синтаксис
TIMEOUT [/T] 50 [/NOBREAK]

Параметры

/T 50 Таймаут = 50 сек. Время ожидания в секундах. Допустимый интервал: от -1 до 99999 секунд. Значение, равное -1 задает неограниченное время ожидания до нажатия клавиши. /NOBREAK Игнорировать нажатия клавиш, ждать указанное время. /? Отображение справки в командной строке.

TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1

Весь текст примера можно внести в bat-файл,
запустить и посмотреть, как это работает.
Впечатляет.

  • Главная
  • ТЕХНИЧЕСКАЯ
  • BAT
  • Использование PAUSE

Использование PAUSE

  • размер шрифта уменьшить размер шрифтаувеличить размер шрифта
  • Печать
  • Эл. почта

Pause позволяет остановить выполнение Bat-файла до нажатия клавиши на клавиатуре. Это может быть полезно, например, если Вы хотите, чтобы пользователь подтвердил выполнение какого-то действия нажатием на клавишу. То есть, что он в своем уме и осознает, что происходит.

Смотрим пример, который копирует файл на дискету.

В момент выполнения программа остановится.

А после нажатия скопируется. Но на экране останется окно.

Если Вы не хотите чтобы оно было, вызовите последней командой cls

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector