Как спать в пакетном файле?

Как временно приостановить выполнение в командном файле Windows между командой и следующей?

112 голосов | спросил Massimo 26 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 26 Sep 2012 23:45:32 +0400 2012, 23:45:32

3 ответа


169

Правильный способ спать в пакетном файле - использовать timeout , введенная в Windows 2000.

Ожидать где-то между 29 и 30 секундами :

timeout /t 30

Тайм-аут прерывается, если пользователь нажимает любую клавишу; однако команда также принимает необязательный переключатель /nobreak, который фактически игнорирует все, что может нажать пользователь, за исключением явного CTRL-C:

timeout /t 30 /nobreak

Кроме того, если вы не хотите, чтобы команда печатала свой обратный отсчет на экране, вы можете перенаправить свой вывод на NUL:

timeout /t 30 /nobreak > NUL
ответил Massimo 26 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 26 Sep 2012 23:45:32 +0400 2012, 23:45:32
7

Так как он применим и здесь, я скопирую мой ответ с другого сайта .

Если вы хотите использовать пинг, есть лучший способ. Вы захотите выполнить ping-адрес, который не существует, поэтому вы можете указать тайм-аут с точностью до миллисекунды. К счастью, такой адрес определен в стандарте (RFC 3330), и это 192.0.2.x. Это не сделано, это действительно адрес с единственной целью не существующего (это может быть неясно, но оно применяется даже в локальных сетях):

  

192.0.2.0/24 - Этот блок назначается как «TEST-NET» для использования в      документацию и пример кода. Он часто используется в сочетании с      доменные имена example.com или example.net в поставщике и протоколе      документация. Адреса внутри этого блока не должны отображаться на      общедоступный Интернет.

Чтобы спать в течение 123 миллисекунд, используйте ping 192.0.2.1 -n 1 -w 123 >nul

ответил mafu 17 J000000Thursday14 2014, 14:58:28
4

Вы также можете вставить пинг на localhost. Это займет 4 секунды (по умолчанию). Некоторые считают, что некоторые из них, но работают довольно хорошо.

Команда:
    ping 127.0.0.1

ответил acolyte 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 27 Sep 2012 00:10:24 +0400 2012, 00:10:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132