我正在尝试在Jenkins中调用此代码
rem copy installation to output folder
set src="C:\code\EPMD\Installer\inno setup\Output"
set dst="c:/test_installs/Calibration/%version_name%"
call robocopy %src% %dst% /MIR /E /is /it
代码运行并起作用,创建了一个在目标文件夹中的新文件。
根据文档说明,这会导致 robocopy 返回 1。
然后它在内部调用 exit 1,而 Jenkins 认为构建已失败。
我该如何“捕获”这个返回值而不使构建失败?
call
命令来调用robocopy
?if ErrorLevel 8 (exit /B 1) else (exit /B 0)
(意思是:如果ErrorLevel
大于或等于8
(表示实际错误),则以ErrorLevel
为1
的状态退出脚本,否则以ErrorLevel
为0
的状态退出脚本)...robocopy
时,就不需要call robocopy
。我们只会call
其他批处理文件或批处理标签。顺便说一句,最好使用robocopy
,因为xcopy
已经被弃用了,尽管它仍然可以工作。 - Gerhardset
变量,包括实际的变量名而不仅仅是值。例如:set "src=C:\code\EPMD\Installer\inno setup\Output"
然后在使用时也要加上双引号robocopy "%src%" "%dst%" /MIR /E /is /it
,否则"
会成为字符串的一部分。虽然对于路径来说这不是什么大问题,但对于其他变量可能会成为一个问题。 - Gerhard