Пауза пакетного файла MS-DOS с ключом enter
возможно ли в пакетном файле MS-DOS приостановить скрипт и дождаться, пока пользователь нажмет клавишу ввода?
Я хочу сделать это внутри цикла for. После каждой итерации я хочу, чтобы скрипт приостанавливался и ждал, пока пользователь нажмет "Enter"
3 ответа:
здесь
pause
команда, которая делает именно это, хотя это не специально ключ enter.Если вы действительно хотите ждать только клавишу enter, вы можете использовать
set
команда для запроса пользовательского ввода с фиктивной переменной, что-то вроде:
set /p DUMMY=Hit ENTER to continue...
это то, что вы искали. Если вы ищете только тот случай, когда ввод ударил вы можете злоупотреблять :
runas /user:# "" >nul 2>&1
экран будет заморожен до тех пор, пока не будет нажата enter.Что мне нравится больше, чем
set/p=
это если вы нажмете другие кнопки, чем enter они не будут отображаться.
в зависимости от того, какую ОС вы используете, если вы гибки, то
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)
определит, был ли просто введен или что-то еще, заканчивая вводом.