使用回车键暂停MS-DOS批处理文件

时间:2013-04-30 14:28:35

标签: batch-file dos

在MS-DOS批处理文件中是否可以暂停脚本并等待用户按Enter键?

我希望在for循环中执行此操作。每次迭代后,我希望脚本暂停并等待用户点击“Enter”

5 个答案:

答案 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是最佳选择。