我正在尝试通过.cmd文件自动化我使用测试套件创建的程序.
我可以通过%errorlevel%获取我运行的返回代码的程序.
我的程序对每种类型的错误都有一定的返回码.
例如:
1 - 意味着因为这样的原因而失败
2 - 由于某些其他原因意味着失败
...
echo FAILED:测试用例失败,错误级别:%errorlevel%>> TestSuite1Log.txt
相反,我想以某种方式说:
echo FAILED:测试用例失败,错误原因:lookupError(%errorlevel%)>> TestSuite1Log.txt
这是否可以使用.bat文件?或者我是否必须转向像python/perl这样的脚本语言?
你可以选择相当整齐地做到这一点ENABLEDELAYEDEXPANSION
.这允许您使用!
后面评估的变量标记%
.
REM Turn on Delayed Expansion SETLOCAL ENABLEDELAYEDEXPANSION REM Define messages as variables with the ERRORLEVEL on the end of the name SET MESSAGE0=Everything is fine SET MESSAGE1=Failed for such and such a reason SET MESSAGE2=Failed for some other reason REM Set ERRORLEVEL - or run command here SET ERRORLEVEL=2 REM Print the message corresponding to the ERRORLEVEL ECHO !MESSAGE%ERRORLEVEL%!
键入HELP SETLOCAL
并HELP SET
在命令提示符处获取有关延迟扩展的更多信息.