Как спать в течение 5 секунд в командном файле / cmd? [Дубликат]

592

Средство Windows Snipping может захватывать экран, но иногда я хочу сделать снимок через 5 секунд, например, сделать снимок, отображаемый веб-камерой. (Запустите скрипт и улыбнитесь камере, например).

Мой вопрос: как спать в течение 5 секунд в пакетном файле?

  • 7
    Быстрый ответ для людей, приземляющихся здесь; Начиная с Windows Vista существует собственное решение: TIMEOUT . Ссылка : SS64 , Роб ван дер Вуд .
  • 0
    Есть команда тайм-аута, которая ждет в течение нескольких секунд. Если требуется миллисекундный сон, можно использовать Start-Sleep powershell. Для сна 50 мс в cmd: powershell Start-Sleep -m 50
Показать ещё 2 комментария
Теги:
batch-file
command-line
sleep
timeout

32 ответа

781
Лучший ответ

Один из способов - использовать (пропустить) команду ping:

ping 127.0.0.1 -n 6 > nul

Объяснение:

  • ping - системная утилита, которая отправляет запросы ping. ping доступен во всех версиях Windows.
  • 127.0.0.1 - это IP-адрес локального хоста. Этот IP-адрес гарантированно всегда разрешается, доступен и немедленно реагирует на пинги.
  • -n 6 указывает, что должно быть 6 пингов. Между каждым пингом задержка составляет 1 с, поэтому для задержки 5 с необходимо отправить 6 пингов.
  • > nul подавить вывод ping, перенаправив его на nul.
  • 6
    Это не работает для меня (может быть проблема с сетью)? Когда я пытаюсь выполнить приведенную выше команду (без канала для nul), я немедленно получаю «Целевой хост недоступен» от сервера шлюза, и команда ping сразу завершается.
  • 126
    IME чище и надежнее выполнять «ping 127.0.0.1 -n 10> nul» - каждый пинг ждет 1 с, поэтому измените количество раз на количество секунд, которые вы хотите отложить.
Показать ещё 11 комментариев
1283

Я очень удивлен, что никто не упомянул:

C:\> timeout 5

N.B. Обратите внимание, однако (спасибо Dan!), что timeout 5 означает:

Спящий режим между 4 и 5 секундами

Это можно проверить эмпирически, поместив следующее в командный файл, повторив его и вычислив разницу во времени между первым и вторым echo s:

@echo off
echo %time%
timeout 5 > NUL
echo %time%
  • 29
    Тайм-аут не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл. (На моем Windowx XP SP3)
  • 80
    это работает на Win 7, но не на Win XP
Показать ещё 22 комментария
61

Попробуйте выполнить команду Choice. Это было с MSDOS 6.0 и должно было сделать трюк.

Используйте параметр /T, чтобы указать время ожидания в секундах и параметр /D, чтобы указать выбор по умолчанию и игнорировать выбранный выбор.

Единственное, что может быть проблемой, заключается в том, что пользователь вводит один из символов выбора до истечения периода ожидания. Частичная обработка - это обфускация ситуации - используйте аргумент /N, чтобы скрыть список допустимых вариантов и только один символ в наборе вариантов, поэтому будет менее вероятно, что пользователь будет вводить правильный выбор до истекает время ожидания.

Ниже приведен текст справки в Windows Vista. Я думаю, что это то же самое на XP, но посмотрите на текст справки на компьютере XP, чтобы проверить.

C:\>CHOICE /?

CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

Description:
    This tool allows users to select one item from a list
    of choices and returns the index of the selected choice.

Parameter List:
   /C    choices       Specifies the list of choices to be created.
                       Default list is "YN".

   /N                  Hides the list of choices in the prompt.
                       The message before the prompt is displayed
                       and the choices are still enabled.

   /CS                 Enables case-sensitive choices to be selected.
                       By default, the utility is case-insensitive.

   /T    timeout       The number of seconds to pause before a default
                       choice is made. Acceptable values are from 0 to
                       9999. If 0 is specified, there will be no pause
                       and the default choice is selected.

   /D    choice        Specifies the default choice after nnnn seconds.
                       Character must be in the set of choices specified
                       by /C option and must also specify nnnn with /T.

   /M    text          Specifies the message to be displayed before
                       the prompt. If not specified, the utility
                       displays only a prompt.

   /?                  Displays this help message.

   NOTE:
   The ERRORLEVEL environment variable is set to the index of the
   key that was selected from the set of choices. The first choice
   listed returns a value of 1, the second a value of 2, and so on.
   If the user presses a key that is not a valid choice, the tool
   sounds a warning beep. If tool detects an error condition,
   it returns an ERRORLEVEL value of 255. If the user presses
   CTRL+BREAK or CTRL+C, the tool returns an ERRORLEVEL value
   of 0. When you use ERRORLEVEL parameters in a batch program, list
   them in decreasing order.

Examples:
   CHOICE /?
   CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
   CHOICE /T 10 /C ync /CS /D y
   CHOICE /C ab /M "Select a for option 1 and b for option 2."
   CHOICE /C ab /N /M "Select a for option 1 and b for option 2."
  • 11
    это не на XP либо ...
  • 11
    Это интересно. На этом сайте computerhope.com/choicehl.htm указано, что выбор возможен в Windows 95, Windows 98, Windows Vista и Windows 7, но не в Windows XP. Могу поспорить, что у MS много жалоб на использование XP, поэтому они вернули ее в Vista.
Показать ещё 1 комментарий
51

Следующий хак позволит вам поспать 5 секунд

ping -n 6 127.0.0.1 > nul

Поскольку пинг ждет секунду между пингами, вам нужно указать еще один, чем вам нужно.

  • 32
    Это должно быть -n 6 . В противном случае вы просто подождите 4 секунды. Помните, что ping ждет 1 секунду между пингами, поэтому вам всегда нужно указать еще одну попытку, чем вам нужно.
  • 4
    Это гораздо лучшее решение, чем пинг предполагаемого несуществующего IP-адреса, который, кстати, дает сбой, когда сеть не работает. Пингование localhost почти всегда работает.
Показать ещё 1 комментарий
32

Вы можете сделать это с помощью timeout:

Это будет видно: timeout 5

Это не будет видно timeout 5 >nul

  • 0
    Команда timeout доступна в win 7, но не в win xp.
32

Если у вас есть PowerShell в вашей системе, вы можете просто выполнить эту команду:

powershell -command "Start-Sleep -s 5"

Изменить: люди подняли проблему, когда количество времени, которое требуется для запуска, будет значительным по сравнению с тем, как долго вы пытаетесь дождаться. Если важна точность времени ожидания (т.е. Вторая или две дополнительные задержки неприемлемы), вы можете использовать этот подход:

powershell -command "$sleepUntil = [DateTime]::Parse('%date% %time%').AddSeconds(5); $sleepDuration = $sleepUntil.Subtract((get-date)).TotalMilliseconds; start-sleep -m $sleepDuration"

Это занимает время, когда была выписана команда Windows, а powershell script спящий до 5 секунд после этого времени. Таким образом, пока PowerShell занимает меньше времени, чем ваша продолжительность сна, этот подход будет работать (он составляет около 600 мс на моей машине).

  • 17
    Простая загрузка PowerShell занимает несколько секунд.
  • 0
    Ну, 600 мс не так уж плохо, но это на вашей ОС на вашем оборудовании. PowerShell занимает около шести секунд для загрузки на XP при первом запуске в сеансе Windows, затем около трех секунд для последующих запусков. В Windows 7 в той же системе это занимает меньше, а в более быстрой системе - еще меньше. Короче говоря, это не очень портативное решение.
Показать ещё 6 комментариев
27

Не можем ли мы сделать waitfor /T 180?

waitfor /T 180 pause приведет к ошибке "ОШИБКА: время ожидания ожидания" пауза "".

waitfor /T 180 pause >nul развернет эту "ошибку" под ковриком

Команда waitfor должна присутствовать в ОС Windows после Win95

В прошлом я загрузил исполняемый файл с именем sleep, который будет работать в командной строке после того, как вы поместите его в свой путь.

Например: sleep shutdown -r -f /m \\yourmachine хотя shutdown теперь имеет опцию -t, встроенную в

  • 1
    Не присутствовал на моей машине с XP Pro SP3, но это было на машине с Win7 Ultimate.
  • 0
    waitfor для ожидания сигнала. Не уверен, как использовать это, но это, кажется, не отвечает всем требованиям.
Показать ещё 4 комментария
23

Timeout /t 1 >nul

Как пауза в 1 секунде, вы можете взять известкование до почти 100 000 (99,999). Если вы подключены к Интернету, лучшим решением будет:

ping 1.1.1.1. -n 1 -w 1000 >nul

Когда вы выполняете ping, вы рассчитываете в миллисекундах, поэтому одна секунда будет 1000 миллисекунд. Но команда ping немного, но она не работает на автономных машинах. Проблема в том, что машина запуталась, потому что она отключена, и она хотела бы пинговать website/server/host/ip, но это невозможно. Поэтому я бы порекомендовал тайм-аут. Удачи!

  • 6
    Пинг до 1.1.1.1 не является хорошим и действительно не лучшим решением. Это вызывает сетевой трафик. Пинг до localhost вместо этого.
  • 0
    Смысл проверки связи с недоступным IP-адресом состоит в том, чтобы команда ожидала ответа и время ожидания после указанного времени. "localhost", скорее всего, ответит, а не превысит время ожидания в большинстве систем.
Показать ещё 2 комментария
17

SLEEP 5 был включен в некоторые комплекты ресурсов Windows.

TIMEOUT 5 был включен в некоторые из наборов ресурсов Windows, но теперь является стандартной командой в Windows 7 и 8 (не уверен в Vista).

PING 1.1.1.1 -n 1 -w 5000 >NUL Для любой версии MS-DOS или Windows с клиентом TCP/IP PING можно использовать для задержки выполнения в течение нескольких секунд.

NETSH badcommand (только для Windows XP/Server 2003) или CHOICE

эта ссылка поможет вам больше.

10

Два ответа:

Во-первых, чтобы задержать командный файл, просто без всех тупых методов, которые люди предлагали:

timeout /t <TimeoutInSeconds> [/nobreak] 

http://technet.microsoft.com/en-us/library/cc754891.aspx

Во-вторых, стоит упомянуть, что, хотя он может не делать именно то, что вы хотите, используя встроенный инструмент обрезки Windows, вы можете запускать его без использования мыши. Запустите инструмент для отрезки, выйдите из текущего среза, но оставьте инструмент включенным и нажмите "Control + Print Screen", когда вы хотите, чтобы snip произошел. Это не должно мешать тому, что вы пытаетесь отрезать.

10

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

В итоге я использовал sleep.exe из http://sourceforge.net/projects/unxutils, что приятно, потому что он не требует установки и крошечный.


Попытка с помощью choice:

<Target Name="TestCmd">
  <Exec Command="choice /C YN /D Y /t 5 " />
</Target>

Результаты в:

TestCmd:
  choice /C YN /D Y /t 5

EXEC : error : The file is either empty or does not contain the valid choices. [test.proj]
  [Y,N]?
C:\test.proj(5,9): error MSB3073: The command "choice /C YN /D Y /t 5 " exited with code 255.

Попытка с помощью timeout:

<Target Name="TestCmd">
  <Exec Command="timeout /t 5 " />
</Target>

Результаты в:

TestCmd:
  timeout /t 5
EXEC : error : Input redirection is not supported, exiting the process immediately. [test.proj]
C:\test.proj(5,7): error MSB3073: The command "timeout /t 5 " exited with code 1.

Помимо

Я использую <Exec Command="sleep 2 & dbghost.exe" />, потому что я выполняю dbghost.exe несколько раз параллельно и создает временные файлы/базы данных на основе текущей эпохи в секундах, что, конечно же, означает, что вы запускаете несколько экземпляров, каждый из них использует то же имя temp. Первоначально я пытался использовать команду MSBuild Extension Pack Thread.Sleep, но кажется, что (как правило) она выполняла задачу сна, но затем запускала задачу <exec> во всех потоках одновременно и, конечно, dbghost. exe потерпит неудачу с конфликтами. До сих пор использование sleep.exe кажется более надежным.

  • 2
    Чрезвычайно полезное замечание о том, что выбор / тайм-аут не работает в задаче msbuild. В этом случае я обнаружил, что принятый ответ (ping) работает для меня в msbuild: ping 1.1.1.1 -n 1 -w 3000> nul
  • 0
    Также выбор / тайм-аут не работает в задаче Ant.
5

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

BEST>@echo done
BEST>@set DelayInSeconds=10
BEST>@rem Use ping to wait
BEST>@ping 192.0.2.0 -n 1 -w %DelayInSeconds%000 > nul

Выполненное эхо позволяет увидеть, когда закончится script, а ping обеспечивает задержку. Дополнительные знаки @означают, что я вижу "сделанный" текст, и ожидание происходит без меня, отвлекаясь на их команды.

Я пробовал различные решения, приведенные здесь на машине XP, поскольку идея заключалась в том, чтобы иметь командный файл, который запускался на разных машинах, и поэтому я выбрал машину XP, поскольку среда, которая может быть наименее способной.

GOOD> ping 192.0.2.0 -n 1 -w 3000 > nul

Это, казалось, дало трехмесячную задержку, как ожидалось. Одна попытка ping длится 3 секунды.

BAD> ping -n 5 192.0.2.0 > nul

Это заняло около 10 секунд (не 5). Мое объяснение состоит в том, что есть 5 попыток пинга, каждый примерно на секунду, делая 4 секунды. И каждая попытка пинга, вероятно, продолжалась около секунды, составляя в общей сложности 9 секунд.

BAD> timeout 5
BAD> sleep /w2000
BAD> waitfor /T 180
BAD> choice

Команды недоступны.

BAD> ping 192.0.2.0 -n 1 -w 10000 > nul :: wait 10000 milliseconds, ie 10 secs

Я тоже пробовал это, прочитав, что комментарии могут быть добавлены в файлы BAT с использованием двух последовательных двоеточий. Однако программное обеспечение вернулось почти мгновенно. Положив комментарий на собственную строку до того, как пинг работал нормально.

GOOD> :: wait 10000 milliseconds, ie 10 secs
GOOD> ping 192.0.2.0 -n 1 -w 10000 > nul

Чтобы лучше понять, что делает ping на практике, я побежал

ping 192.0.2.0 -n 5 -w 5000

Это заняло около 30 секунд, хотя 5 * 5 = 25. Мое объяснение состоит в том, что в течение 5 секунд есть 5 попыток пинга, но между попытками пинга есть 1 секунда задержки: по крайней мере, есть небольшая причина ожидать другого результата, если вы снова будете пингом, и лучше дать сети немного времени, чтобы оправиться от любой проблемы, с которой она столкнулась.

Изменить: украдено из другое сообщение,.. RFC 3330 говорит, что IP-адрес 192.0.2.0 не должен появляться в Интернете, поэтому проверка этого адреса не позволяет этим тестам спамить кого-либо! Я изменил текст выше, соответственно!

5

Я сделал это. Он работает и показывает время в секундах. Если вы хотите использовать его, добавьте в пакетный файл:

call wait 10

Он работал, когда я тестировал его.

Список wait.bat (он должен находиться в рабочем каталоге или windir/system32/):

@echo off

set SW=00

set SW2=00

set /a Sec=%1-1

set il=00
@echo Wait %1 second
for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100, CC=1%%D-100, TBASE=((HH*60+MM)*60+SS)*100+CC, SW=CC 

set /a TFIN=%TBASE%+%100

:ESPERAR
for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100, 

CC=1%%D-100, TACTUAL=((HH*60+MM)*60+SS)*100+CC,  SW2=CC


if %SW2% neq %SW% goto notype
if %il%==0 (echo Left %Sec% second & set /a Sec=sec-1 & set /a il=il+1)
goto no0
:notype
set /a il=0
:no0

if %TACTUAL% lss %TBASE% set /a TACTUAL=%TBASE%+%TACTUAL%
if %TACTUAL% lss %TFIN% goto ESPERAR
4

еще два способа работы с XP и выше:

с w32tm

w32tm /stripchart /computer:localhost /period:5 /dataonly /samples:2  1>nul 

wtih typeperf:

typeperf "\System\Processor Queue Length" -si 5 -sc 1 >nul
4

Вы можете использовать VBScript, например файл myscript.vbs:

set wsobject = wscript.createobject("wscript.shell")

do while 1=1
    wsobject.run "SnippingTool.exe",0,TRUE
    wscript.sleep 3000
loop

Пакетный файл:

cscript myscript.vbs %1
  • 2
    почему% 1? Вы не поместили место для аргументов в коде. Я использую это: sleep.vbs: wscript.sleep wscript.arguments (1)
3

Это можно сделать с помощью двух простых строк в пакетном файле: записать временный файл .vbs в папку %temp% и вызвать его:

echo WScript.Sleep(5000) >"%temp%\sleep.vbs"
cscript "%temp%\sleep.vbs"
3

Самый простой способ я сделал это:

Скачайте Sleep.exe на http://www.sleepcmd.com/. Файл .exe должен находиться в той же папке, что и программа, которую вы написали!

  • 9
    если загрузка exe была правильным ответом, sleep.exe от ms rk был бы лучшим выбором. И положить это в путь.
3

Улучшение кода, предложенного пользователем Aacini, имеет разрешение сотых долей секунды и не прерывается, когда время достигает 23: 59: 59,99:

for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100, CC=1%%D-100, TBASE=((HH*60+MM)*60+SS)*100+CC

:: Example delay 1 seg.
set /a TFIN=%TBASE%+100

:ESPERAR
for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100, CC=1%%D-100, TACTUAL=((HH*60+MM)*60+SS)*100+CC

if %TACTUAL% lss %TBASE% set /a TACTUAL=%TBASE%+%TACTUAL%
if %TACTUAL% lss %TFIN% goto ESPERAR
3

Я использую следующий метод, полностью основанный на возможностях Windows XP для задержки в пакетном файле:

Файл DELAY.BAT

@ECHO OFF
REM DELAY seconds

REM GET ENDING SECOND
FOR /F "TOKENS=1-3 DELIMS=:." %%A IN ("%TIME%") DO SET /A H=%%A, M=1%%B%%100,     S=1%%C%%100, ENDING=(H*60+M)*60+S+%1

REM WAIT FOR SUCH A SECOND
:WAIT
FOR /F "TOKENS=1-3 DELIMS=:." %%A IN ("%TIME%") DO SET /A H=%%A, M=1%%B%%100, S=1%%C%%100, CURRENT=(H*60+M)*60+S
IF %CURRENT% LSS %ENDING% GOTO WAIT

Вы также можете вставить день в вычисление, чтобы этот метод также работал, когда интервал задержки прошел за полночь.

  • 10
    Это «занятое ожидание», и поэтому может повлиять на производительность вашей машины. Проверьте диспетчер задач во время его работы, чтобы увидеть влияние на загрузку процессора.
3

Используя "ping", -n определит тайм-аут только тогда, когда нет ответа на пинг. Проверьте это сообщение о внедрении DELAY в виде пакетного файла.

Команда DELAY реализована как пакетный файл

Я мог бы просто скопировать-вставить важные биты, но весь пост весьма полезен.

2
PING -n 60 127.0.0.1>nul

если ваш сетевой адаптер недоступен.

2

Если у вас есть соответствующая версия Windows и Windows Resource Kit Resource Kit Tools, она включает в себя команду сна для пакетных программ. Подробнее: http://malektips.com/xp_dos_0002.html

1

Создайте cmd файл с именем sleep.cmd:

REM Usage: SLEEP Time_in_MiliSECONDS
@ECHO off
ping 1.0.0.0 -n 1 -w %1 > nul

Скопировать sleep.cmd в c:\windows\system32

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

sleep 500

Спит на 0,5 секунды. Аргументы в ms. После копирования в System32 можно использовать всюду.

РЕДАКТИРОВАТЬ: Вы также должны быть в отъезде, если машина не подключена к сети (скажем, портативу, которую вы используете в метро), трюк ping больше не работает.

  • 0
    Это потенциально интересная альтернатива другим пинг-примерам, но вам нужно объяснить это подробнее. Почему вы выбираете пинг 1.0.0.0?
  • 0
    Наверное, нет конкретной причины. Использование 127.0.0.1 - более безопасная ставка, как объяснено в других комментариях.
Показать ещё 3 комментария
1

В Windows xp sp3 вы можете использовать команду sleep

0

Я написал мощную программу wait.exe, где вы передаете ей миллисекундный параметр в пакетном файле

wait 3000
system('c:/windows/system32/SnippingTool.exe')

код для EXE:

FUNCTION PBMAIN()
  c$ = Command$
  s! = Val(c$)*1000
  Sleep s!         
END FUNCTION
0

ping ждет около 5 секунд до тайминга, а не 1 секунду, как было указано выше. То есть, если вы не скажете, чтобы он подождал только 1 секунду до выключения времени.

ping 1.0.0.1 -n 1 -w 1000

будет пинговать один раз, ждать только 1 секунду (1000 мс) для ответа, затем тайм-аут.

Таким образом, приблизительно 20-секундная задержка будет:

ping 1.0.0.1 -n 20 -w 1000

  • 0
    Принятый ответ уже описывает его, и Джонатан уже показал ваше решение использовать недопустимый IP-адрес
  • 0
    Кроме того, если пинг длится секунду (ожидание ответа, который не произошел) и находится на расстоянии секунды - поскольку нет смысла повторять сбой немедленно - тогда ваша приблизительная 20-секундная задержка будет ближе к 39 секундам. Копируя принятый ответ, вы также копируете его ошибки!
Показать ещё 1 комментарий
0

Хорошо, это работает, если у вас есть выбор или пинг.

@echo off
echo.
if "%1"=="" goto askq
if "%1"=="/?" goto help
if /i "%1"=="/h" goto help
if %1 GTR 0 if %1 LEQ 9999 if /i "%2"=="/q" set ans1=%1& goto quiet
if %1 GTR 0 if %1 LEQ 9999 set ans1=%1& goto breakout
if %1 LEQ 0 echo %1 is not a valid number & goto help
if not "%1"=="" echo.&echo "%1" is a bad parameter & goto help
goto end

:help
echo SLEEP runs interactively (by itself) or with parameters (sleep # /q )
echo where # is in seconds, ranges from 1 - 9999
echo Use optional parameter /q to suppress standard output 
echo or type /h or /? for this help file
echo.
goto end

:askq
set /p ans1=How many seconds to sleep? ^<1-9999^> 
echo.
if "%ans1%"=="" goto askq
if %ans1% GTR 0 if %ans1% LEQ 9999 goto breakout
goto askq

:quiet
choice /n /t %ans1% /d n > nul
if errorlevel 1 ping 1.1.1.1 -n 1 -w %ans1%000 > nul
goto end

:breakout
choice /n /t %ans1% /d n > nul
if errorlevel 1 ping 1.1.1.1 -n 1 -w %ans1%000 > nul
echo Slept %ans1% second^(s^)
echo.

:end

просто назовите его sleep.cmd или sleep.bat и запустите его

-2

Есть!

SLEEP <seconds>

Если вы хотите его в миллисекундах:

SLEEP -m <time in milliseconds>

Это более полезно, чем TIMEOUT, потому что TIMEOUT может быть прервано нажатием клавиши или CTRL + C (для TIMEOUT /t <secs> /nobreak). SLEEP не может быть отменено ничем (кроме кнопки закрытия: p)

Другой - PING. Но PING требуется подключение к Интернету, потому что вы будете записывать соединение с сайтом.

  • 1
    В ванильных окнах есть команда сна. Это зависит исключительно от того, какую версию Windows вы используете. Это является родным для Windows 7 Pro / Enterprise, Windows 10 Pro / Enterprise, всех выпусков Windows Server 2008+. Я проголосовал за это, поскольку это правильное решение.
  • 0
    @TimothyWood Я использую Server 2012 R2, а SLEEP недоступен. Ответ должен предоставить точную информацию о том, на каких версиях Windows он работает.
Показать ещё 2 комментария
-2

Это должно сделать трюк: выбор /T 5/N/D Y

Замените 5 временем в секундах, которое вы хотите подождать...

-2

В новых версиях ОС Windows вы можете использовать команду

sleep /w2000

в DOS script (.cmd или .bat), чтобы подождать 2 секунды (2000 мс - замените время в миллисекундах, которое вам нужно). Будьте осторожны, чтобы включить аргумент /w - без него весь компьютер засыпает! Вы можете использовать -m вместо /m, если хотите, и необязательно двоеточие (:) между w и числом.

  • 1
    Определите «более новые окна».
  • 1
    Новее чем win7 видимо;)
Показать ещё 2 комментария
-3

Я думаю, что следующая команда может помочь:

pause 5

Синтаксис команды pause: пауза d \\, где d - продолжительность в секундах

Я использую Windows 7 (32 бит), но я не знаю других.

  • 4
    На WinXP это не так работает. Он ждет бесконечности, игнорируя аргумент.
  • 4
    Цель паузы заключается в следующем: «Приостановляет обработку пакетной программы и отображает сообщение. Нажмите любую клавишу для продолжения ...».
Показать ещё 2 комментария
-10

Сон - не очень хорошая идея. Позвольте пользователю выбрать, когда он или она будет готов:

pause
Press any key to continue . . .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню