Batch file 使用enter键暂停MS-DOS批处理文件
在MS-DOS批处理文件中是否可以暂停脚本并等待用户按enter键Batch file 使用enter键暂停MS-DOS批处理文件,batch-file,dos,Batch File,Dos,在MS-DOS批处理文件中是否可以暂停脚本并等待用户按enter键 我希望在for循环中执行此操作。每次迭代后,我希望脚本暂停并等待用户点击“回车”pause命令。 如果仅在按下enter键时查看大小写,则可以滥用runas命令: runas /user:# "" >nul 2>&1 屏幕将被冻结,直到按下enter键。我更喜欢的是,如果按enter键以外的其他按钮,它们将不会显示。有一个暂停命令,尽管它不是专门的enter键 如果确实只想等待enter键,可以使用set命
我希望在for循环中执行此操作。每次迭代后,我希望脚本暂停并等待用户点击“回车”
pause
命令。
如果仅在按下enter键时查看大小写,则可以滥用runas
命令:
runas /user:# "" >nul 2>&1
屏幕将被冻结,直到按下enter键。我更喜欢的是,如果按enter键以外的其他按钮,它们将不会显示。有一个
暂停
命令,尽管它不是专门的enter键
如果确实只想等待enter键,可以使用set
命令请求用户输入一个虚拟变量,例如:
set/p DUMMY=按ENTER键继续…
取决于您使用的操作系统,如果您灵活,则选项
可用于等待除ENTER键以外的几乎任何键
如果您真正指的是微软坚持称之为“命令提示符”的东西,它只是一个MS-DOS仿真器,那么TIMEOUT
可能适合您的目的(TIMEOUT/t-1
等待任何键,而不仅仅是ENTER
),当然CHOICE
在最近的WIN版本中再次可用
以及SET/p
上的警告-而SET/p DUMMY=点击回车继续…
将起作用
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或其他内容。您可以使用
pause
命令执行此操作,例如:
dir
pause
echo Now about to end...
pause
唯一有效的答案是
pause
命令
虽然这并不是专门等待“回车”键,但它会等待按下的任何键
为了方便用户使用,
pause
是最好的选择。您不需要指定变量名:set/p=点击回车键继续…
,或者如果不需要提示,只需点击set/p=
。出于某种原因,我的应用程序正快速通过暂停逻辑。非常奇怪。在这个上下文(批处理文件)中使用“app”这个词似乎有点奇怪。它对我不起作用。只有在第二次启动时,当“set”计算/保存到env中时才起作用。在WIndows 10上,这些都不适用于我。pause
确实是MS-DOS
的唯一有效答案(所有其他答案仅在cmd
中起作用)。所以,你的答案实际上是唯一完全正确的,因为这个特殊的问题(尽管在7年前已经有人提出过)对我来说不起作用