如何避免在 Jenkins 中为 bat 命令插值敏感变量

How to avoid interpolation of sensitive variables for a bat command in Jenkins

在 Linux 上,您可以用单引号替换双引号以避免插值。

// WRONG!
sh("curl -u ${EXAMPLE_CREDS_USR}:${EXAMPLE_CREDS_PSW} https://example.com/")

// CORRECT!
sh('curl -u $EXAMPLE_CREDS_USR:$EXAMPLE_CREDS_PSW https://example.com/')

但是,在 Windows 上,我无法正常工作。

下一个命令将起作用:

bat "mvn ${MAVENARGS} package -Ddlc=${DLC}"

但是下一个命令不起作用:

bat 'mvn $MAVENARGS package -Ddlc=$DLC'

那么如何为 bat 脚本执行此操作?

应该是

bat 'mvn %MAVENARGS% package -Ddlc=%DLC%'

在 Windows。