使用“ SET”获取表达式的结果

时间:2019-06-27 12:16:58

标签: cmd command-line

我正在通过命令行运行Selenium测试脚本,该脚本应根据测试的成功/失败返回“ 0”或“ 1”退出代码。

但是,我无法使用SET命令设置此返回值并将其分配给变量。

我跑步时

Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status

在命令行中,我得到0-这是预期的。

但是我跑步

SET STATUS=Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status
echo %STATUS%

我得到-Run.bat -project_location“%ProjectLocation%”%RUN_PROP%-latest_exe_status

我很确定我错过了一些琐碎的事情,但是我无法以某种方式弄清楚自己缺少的是什么!这让我发疯。

2 个答案:

答案 0 :(得分:0)

只需从退出代码中设置STATUS变量即可。

Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status
SET "STATUS=%ERRORLEVEL%"

ECHO The STATUS is %STATUS%

答案 1 :(得分:0)

运行Run.bat后的%ERRORLEVEL%始终为0,因此对我没有帮助。

无论如何,

SET "STATUS=RRun.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status"
FOR /F "tokens=* USEBACKQ" %%F IN (`%STATUS%`) DO (SET result=%%F)
echo %result%