在 Pipeline Bat 命令中引用 Jenkins 环境变量

Reference Jenkins Environment Variable in Pipeline Bat Command

我正在尝试 运行 此命令,同时嵌入 env.JOB_BASE_NAME 变量,如下所示:

bat '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\amd64\MSBuild.exe" "C:\jenkins\workspace\${env.JOB_BASE_NAME}\MySolution.sln"'

我尝试了 建议的答案,但该解决方案对我不起作用。如果我按照其他答案中的建议删除单引号,则会收到此错误:

'C:\Program' is not recognized as an internal or external command, program or batch file.

大概是因为'Program'和'Files'之间的space。

我试过用三重双引号和其他各种解决方案将其括起来,但没有成功。执行此操作的正确方法是什么?

我自己想出来了。我必须使用三重双引号,然后在命令周围加上双引号。

bat  """ "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\amd64\MSBuild.exe" "C:\jenkins\workspace\${env.JOB_BASE_NAME}\MySolution.sln" """