在MS-DOS批处理文件中是否可以暂停脚本并等待用户按Enter键?
我希望在for循环中执行此操作。每次迭代后,我希望脚本暂停并等待用户点击“Enter”
答案 0 :(得分:203)
有一个pause
命令可以做到这一点,虽然它不是特定的回车键。
如果您真的只想等待回车键,可以使用set
命令询问带有虚拟变量的用户输入,例如:
set /p DUMMY=Hit ENTER to continue...
答案 1 :(得分:11)
pause
命令就是你要找的。
如果您仅查看输入被击中的情况,则可以滥用runas
命令:
runas /user:# "" >nul 2>&1
屏幕将被冻结,直到输入被击中。我比set/p=
更喜欢的是,如果按下除输入之外的其他按钮,它们将不会显示。
答案 2 :(得分:6)
您可以使用pause
命令,例如:
dir
pause
echo Now about to end...
pause
答案 3 :(得分:2)
根据您使用的操作系统,如果您具有灵活性,则CHOICE
可用于等待几乎任何键EXCEPT
输入
如果你真的指的是微软坚持要求调用“命令提示符”,它只是一个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结尾键入。
答案 4 :(得分:0)
唯一有效的答案是pause
命令。
尽管这并不专门等待“ ENTER”键,但它会等待按下的任何键。
以防万一您希望为用户带来方便,pause
是最佳选择。