Лучший способ подождать несколько секунд в bat-файле?

Лучший способ подождать несколько секунд в bat-файле?

Возможный дубликат:
Как заснуть в пакетном файле?

Вот хакксорский способ сделать паузу на секунду в пакетном файле:

PING 400.500.600.700 > NUL

Я погуглил, но не уверен, что есть варианты получше. Есть идеи? :)

решение1

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

@echo off
echo Hi, I'm doing some stuff
echo OK, now I need to take a breather for 5 seconds...
choice /d y /t 5 > nul
echo Times up! Here I go again...

решение2

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

Чтобы подождать 30 секунд:

timeout /t 30

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

timeout /t 30 /nobreak

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

timeout /t 30 /nobreak > NUL

решение3

@echo off
echo It is time for liftoff.
timeout /t 5
echo Commencing crash sequence.
timeout /t 5

Единственный недостаток — нажатие клавиши отменит обратный отсчет.

решение4

Видимов наборе ресурсов Windows есть команда sleep. ДругоеМестатакже рекомендую использовать выбор.....

Связанный контент