我知道我可以用 Crtl-C 中断正在运行的批处理文件,然后继续执行。
但是,在批处理暂停时,是否可以在批处理文件的 cmd 环境中执行命令?
例如,我可能想要暂停正在运行的批处理,更改它之前设置的一些变量,然后继续执行。
答案1
暂停后在批处理中添加修改后的行(即为变量设置新值)并继续批处理
答案2
此代码将允许从批处理上下文中执行任意命令:将其放入批处理文件并使用它。
@echo off
:loop
set cmd=
set /p "cmd=Please give command, empty line to finish "
if defined cmd (
call %cmd%
goto loop
)
要完成执行命令,只需点击Enter
要在批处理中使用它,只需插入一行并调用上述代码:
do stuff
do more stuff
call interrupt_me.bat
do even more stuff
如果您想知道为什么有一个call %cmd%
而不是直线%cmd%
- 它允许扩展传递的变量,以便命令可以echo %comspec%
正常工作。