Ответы:
Есть pause
команда, которая делает именно это, хотя это не определенно клавиша ввода.
Если вы действительно хотите дождаться только клавиши ввода, вы можете использовать set
команду, чтобы запросить ввод пользователя с фиктивной переменной, что-то вроде:
set /p DUMMY=Hit ENTER to continue...
pause
Команда - это то, что вы ищете. Если вы ищете ТОЛЬКО случай, когда нажата клавиша enter, вы можете использовать runas
команду:
runas /user:# "" >nul 2>&1
экран будет заморожен до тех пор, пока не будет нажата кнопка ввода. Что мне нравится больше, чем set/p=
то, что если вы нажмете другие кнопки, кроме ввода, они не будут отображаться
Вы можете сделать это с помощью pause
команды, например:
dir
pause
echo Now about to end...
pause
pause
действительно является единственным действительным ответом MS-DOS
(все остальные ответы работают cmd
только в). Таким образом, ваш ответ на самом деле является единственным полностью правильным ответом на этот специальный вопрос (хотя он был предложен более 7 лет назад)
В зависимости от того, какую операционную систему вы используете, если вы гибки, то CHOICE
можно использовать для ожидания EXCEPT
ввода практически любой клавиши
Если вы на самом деле имеете в виду то, что Microsoft настаивает на том, чтобы называть «Командная строка», которая является просто эмулятором MS-DOS, то, возможно, TIMEOUT
может подойти вашей цели (timeout /t -1
ожидание любой клавиши, а не только ENTER
) и, конечно, CHOICE
снова доступно в последних выпусках WIN.
И предупреждение о SET /P
- тогда какset /p DUMMY=Hit ENTER to continue...
будет работать,
set "dummy="
set /p DUMMY=Hit ENTER to continue...
if defined dummy (echo not just ENTER was pressed) else (echo just ENTER was pressed)
определит, был ли введен просто ENTER или что-то еще, заканчивающееся на ENTER.
set /p=Hit ENTER to continue...
или просто,set /p=
если вам не нужно приглашение.