You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中获取Jenkins Freestyle任务名称并拼接字符串?

解决PowerShell中获取Jenkins任务名称并拼接路径的问题

问题根源

你之前在批处理命令环境里直接写PowerShell的WRITE-OUTPUT命令,批处理无法解析PowerShell语法,所以只会原样打印命令文本,不会执行逻辑。

正确实现方法

方法1:用Jenkins的PowerShell构建步骤执行

如果任务里用的是PowerShell构建步骤(而非批处理步骤),直接用以下代码:

# 读取Jenkins注入的任务名称环境变量
$jobName = $env:JOB_NAME
# 拼接目标路径
$solutionPath = "c:\myjobs\$jobName\dev\app.sln"
# 输出验证结果
Write-Output $solutionPath

方法2:在批处理步骤中调用PowerShell

如果必须在批处理环境中执行,需要通过powershell.exe调用PowerShell命令,格式如下:

powershell -Command "$jobName = $env:JOB_NAME; $solutionPath = 'c:\myjobs\$jobName\dev\app.sln'; Write-Output $solutionPath"

如果要拆分多行,用批处理的续行符^:

powershell -Command ^
"$jobName = $env:JOB_NAME; ^
$solutionPath = 'c:\myjobs\$jobName\dev\app.sln'; ^
Write-Output $solutionPath"

关键提示

Jenkins会自动将当前运行的Freestyle任务名称注入到环境变量JOB_NAME中,PowerShell里直接通过$env:JOB_NAME即可读取到值;双引号包裹的字符串中可以直接嵌入变量,无需额外拼接操作。

内容的提问来源于stack exchange,提问作者Sarah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:12:11