Windows批处理命令在Jenkins中如何使用环境variables?
我试图在我的xcopy脚本中使用Jenkins(全局)环境variables 。
${WORKSPACE} doesn't work "${WORKSPACE}" doesn't work '${WORKSPACE}' doesn't work
我对Jenkins一无所知,但看起来你正在尝试使用某种forms的unix语法访问环境variables – 这是行不通的。
如果variables的名称是WORKSPACE,则在Windows批处理中使用该值进行扩展
%WORKSPACE%
。 这种扩展forms是在parsing时执行的。 例如,这将打印以筛选WORKSPACE的值
echo %WORKSPACE%
如果您在执行时需要该值,则需要使用延迟扩展!WORKSPACE!
。 延迟扩展默认情况下通常不启用。 使用SETLOCAL EnableDelayedExpansion
启用它。 经常需要延迟扩展,因为括号内的代码块一次性被parsing,所以在这个块内分配的值不能在相同的块中稍后被读取,除非使用延迟扩展。
setlocal enableDelayedExpansion set WORKSPACE=BEFORE ( set WORKSPACE=AFTER echo Normal Expansion = %WORKSPACE% echo Delayed Expansion = !WORKSPACE! )
以上的输出是
Normal Expansion = BEFORE Delayed Expansion = AFTER
使用HELP SET
或SET /?
从命令行获取有关Windows环境variables和各种扩展选项的更多信息。 例如,它解释了如何执行search/replace和子string操作。
在Windows中,您应该使用%WORKSPACE%
。