尝试为旧程序自动化一些 DOSBox 脚本,我想使用通常的退出代码errorlevel
来控制程序流。
输入在hello_db.bat
文件中给出:
@echo off
set msg=Hello
echo %msg%
dir
echo errorlevel = %errorlevel%
然后 DOSBox 被调用dosbox hello_db.bat
。
输出是:
Hello
{Listing from dir}
errorlevel =
因此%errorlevel%
扩展为空字符串而不是命令的退出代码dir
,其中第一个msg
变量可以正确扩展。
如何使 DOSBoxerrorlevel
在脚本中正确展开?
基于@phuclv 通过回答的简短回答:
如果不正常(错误级别!= 0),要求是在命令后插入暂停,所以最终做了:
set errorany=0
:: Command is inserted here...
if errorlevel 1 set errorany=1
:: Make pause if not OK
if %errorany%==1 pause