Как в батнике сделать задержку
Перейти к содержимому

Как в батнике сделать задержку

  • автор:

Задержка в BAT-файле меньше чем на секунду

Задержка в bat-файле без вывода сообщения о ней
Решил для забавы запилить .bat-файл, открывающийся при запуске системы. Всё работает. Но не.

GA-Z77MX-D3H — старт меньше, чем на секунду
Здравствуй, CyberForum, позволь обратиться к тебе за помощью в одной проблемке. Вчера, после.

Распознавание регистра в bat-файле, в чём ошибка?
Доброй ночи всем. есть у меня такой вот батник..который просто преобразвывает кирилицу в.

Задержка в одну секунду
Как сделать в Си задержку в одну секунду?

3456 / 1994 / 635
Регистрация: 26.02.2014
Сообщений: 1,457

Лучший ответ

Сообщение было отмечено 800gen_gamepro как решение

Решение

ЦитатаСообщение от 800gen_gamepro Посмотреть сообщение

>.vbs echo WScript.Sleep 500 & .vbs & del .vbs

Регистрация: 08.06.2016
Сообщений: 24
А можно без использования Sleep и vbs, а с использованием команд именно bat-файлов?
Регистрация: 24.06.2015
Сообщений: 20

Лучший ответ

Сообщение было отмечено Joey как решение

Решение

Регистрация: 13.12.2015
Сообщений: 18
800gen_gamepro,

ping -w 100 -n 1 127.0.0.1 > NUL

3456 / 1994 / 635
Регистрация: 26.02.2014
Сообщений: 1,457

Лучший ответ

Сообщение было отмечено vavun как решение

Решение

ЦитатаСообщение от 6aTHu4er Посмотреть сообщение

ping -w 100 -n 1 127.0.0.1 > NUL

Я довольно-таки часто встречал такой способ создания задержки, но, к сожалению, срабатывать он не будет.

-w — это ключ для указания всего-лишь максимального времени ожидания каждого ответа в миллисекундах (по умолчанию это время — 4000 миллисекунд, или 4 секунды).

Если ответ не приходит в течении этого времени, то появляется сообщение «Превышен интервал ожидания для запроса».

Если же ответ приходит раньше, чем через это указанное время, то никакой задержки не произойдёт.

А поскольку ответ от localhost приходит практически мгновенно, то и смысла в использовании данной команды нет.

Это можно проверить, подставляя в этот код любое количество миллисекунд, — скорость выполнения команды будет одна и та же.

А вот утилиту pathping для этих целей использовать можно:

pathping -h 1 -p 500 -q 1 -w 1 127.0.0.1>nul

Команда SLEEP — задать период ожидания.

Команда SLEEP входит в состав дополнительного пакета Resource Kit и используется в командных файлах для организации режима ожидания фиксированного интервала времени.

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

sleep -m миллисекунды

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

sleep 10 установить режим ожидания 10 секунд.

sleep –m 2500 — установить интервал ожидания 2500 миллисекунд (2.5 секунды).

Для прерывания команды sleep можно использовать комбинации клавиш CTRL+C или CTRL+Break.

В качестве альтернативы команды sleep используется команда ping для петлевого интерфейса с указанием количества эхо-запросов, соответствующего длительности задержки в секундах. Поскольку эхо-запрос для петлевого интерфейса выполняется практически мгновенно, а интервал между запросами равен 1 секунде, такой способ вполне приемлем, и не требует установки Resource Kit или копирования утилиты sleep.exe для выполнения задержки на требуемый интервал времени.

Примеры выполнения задержек с использованием ping.exe :

ping –n 1 localhost > nul — задержка на 1 секунду. Перенаправление вывода на фиктивное устройство nul используется для подавления вывода утилиты ping.exe

ping –n 1 127.0.0.1 > nul — то же, но с указанием IP-адреса петлевого интерфейса.

В операционных системах Windows Vista и старше, для организации задержек при выполнении командных файлов можно использовать команду TIMEOUT

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

Вот, нашёл в Сети рабочий пример для устройства задержки времени
(пауза, тайм-аут) при выполнении команды в 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:\Windows\Prefetch &del *.pf 2>nul &cd/d C:\Windows\Temp&rd/s/q c:\windows\temp 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:\Windows\Prefetch &del *.pf 2>nul &cd/d C:\Windows\Temp&rd/s/q c:\windows\temp 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-файл,
запустить и посмотреть, как это работает.
Впечатляет.

  • Выключение компьютера по расписанию
  • Восстановление файла конфигурации загрузки (BCD)
  • Низкоуровневое форматирование флешки
  • Восстановление MBR жёсткого диска
  • Создание, удаление и работа разделов флешки
  • Ротатор баннеров
  • Как включить и выключить гибернацию

№1 HTML5

  • Word | Разорвать и соединить таблицу
  • Word | Убрать горизонтальную линию
  • Word и Excel | Автоматическая нумерация ячеек таблицы
  • Таблица символов Юникод в HTML (XHTML)
  • Якорь в HTML | Закладка на веб-странице
  • Списки в HTML
  • Выключение компьютера по расписанию
  • HTML | Правильный onClick
  • Движок для сайта | Какой выбрать

№2 Windows

  • Системный администратор
  • Кузя Длинношерстая
  • Спешат часы
  • Месть верстальщика
  • Телефонная книга
  • Ошибка танкиста
  • Как написать интернет-статью
  • Засадил в доску с разбегу

№3 Записки алкоголика

  • Системный администратор
  • Кузя Длинношерстая
  • Спешат часы
  • Месть верстальщика
  • Телефонная книга
  • Ошибка танкиста
  • Как написать интернет-статью
  • Засадил в доску с разбегу

№4 Site

  • Системный администратор
  • Кузя Длинношерстая
  • Спешат часы
  • Месть верстальщика
  • Телефонная книга
  • Ошибка танкиста
  • Как написать интернет-статью
  • Засадил в доску с разбегу

Как создать батник для запуска программы с задержкой?

Приветствую друзья!

Коротко ответ:

Как создать батник для запуска программы с задержкой — в скрипте необходимо использовать timeout /t 5, где 5 — это количество секунд задержки.

Разбираемся

Что такое батник? Это файл, который представляет из себя скрипт, а точнее сценарий, где можно прописывать разные команды, которые будут выполняться по очереди.

Вообще в батнике можно многое писать, использовать даже циклы, но лично я этим не пользуюсь. В PowerShell еще больше возможностей.

Так вот, как поставить паузу или задержку в батнике? На самом деле просто. Итак, для примера я создам батник, который открывает окно Программы и компоненты. Сперва создаем текстовый файл, далее меняем в конце .txt на .bat. Чтобы были видны расширения файлов, нужно чтобы они были включены в настройках проводника (значок в панели управления).

Кстати вместо расширения bat можно использовать cmd.

Так вот, файл создан, нажимаем правой кнопкой по нему и выбираем пункт Изменить:

Теперь пишем внутри команду задержки (пять секунд) и команду запуска окна Программы и компоненты:

timeout /t 5
start appwiz.cpl

Закрываем файл и сохраняем изменения:

Теперь после запуска этого скрипта будет идти таймер на 5 секунд, а потом запустится команда:

Удачи и добра, берегите себя!

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

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