Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用enter键暂停MS-DOS批处理文件_Batch File_Dos - Fatal编程技术网

Batch file 使用enter键暂停MS-DOS批处理文件

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命

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


我希望在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年前已经有人提出过)对我来说不起作用