MS-DOSbatch file用input键暂停
是否有可能在MS-DOSbatch file中暂停脚本并等待用户input密钥?
我希望在for循环中做到这一点。 每次迭代后,我希望脚本暂停并等待用户点击“Enter”
有一个pause
命令可以做到这一点,虽然它不是特定的input键。
如果您只想等待input键,则可以使用set
命令来向用户input一个虚拟variables,如下所示:
set /p DUMMY=Hit ENTER to continue...
pause
命令是你在找什么。 如果您仅查看input时遇到的情况,则可以滥用runas
命令:
runas /user:# "" >nul 2>&1
屏幕将被冻结,直到input被击中。我喜欢超过set/p=
是,如果你按其他button,而不是input他们将不会显示。
根据你使用的操作系统,如果你是灵活的,那么CHOICE
可以用来等待几乎所有的密钥, EXCEPT
input
如果你真的指的是微软坚持要求的“命令提示符”,它只是一个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)
将检测是否只是input或其他东西,结束在ENTER被键入。