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