Відповіді:
Існує 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=
якщо вам не потрібен рядок.