gpt4 book ai didi

windows - Jenkins 如何使用 Windows 批处理命令使用环境变量?

转载 作者:可可西里 更新时间:2023-11-01 11:55:04 27 4
gpt4 key购买 nike

我正在尝试在我的 xcopy 脚本中使用 Jenkins(全局)环境变量

${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work

最佳答案

我对 Jenkins 一无所知,但看起来您正在尝试使用某种形式的 unix 语法来访问环境变量 - 这是行不通的。

如果变量的名称是 WORKSPACE,则该值在 Windows 批处理中使用
%工作空间%。这种形式的扩展是在解析时执行的。例如,这将打印以显示 WORKSPACE 的值

echo %WORKSPACE%

如果你需要执行时的值,那么你需要使用延迟扩展!WORKSPACE!。默认情况下通常不启用延迟扩展。使用 SETLOCAL EnableDelayedExpansion 启用它。通常需要延迟扩展,因为括号内的代码块和/或由 &&&|| 连接的多个命令都在解析一次,因此除非您使用延迟扩展,否则以后无法在同一 block 内读取 block 内分配的值。

setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)

上面的输出是

Normal Expansion = BEFORE
Delayed Expansion = AFTER

从命令行使用 HELP SETSET/? 获取有关 Windows 环境变量和各种扩展选项的更多信息。例如,它解释了如何进行搜索/替换和子字符串操作。

关于windows - Jenkins 如何使用 Windows 批处理命令使用环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com