我通常告诉TFS通过$(build.sourcesdirectory)
使用哪个文件夹转换为C:\ Builds \ 1 \ s。
但是,我需要重新打包部署zip,因此我必须将Content\C_C\Builds\myproj\1\s
添加到我的CI中。
这并不是很好,因为1可以因开发工作而改变。
我是否可以使用变量或技术将1替换为变量?
我试过$(Agent.Id)没有运气......
答案 0 :(得分:2)
您可以使用PowerShell从变量$(build.sourcesdirectory)中检索数字,并将值传递给新变量。
$string = "$env:BUILD_SOURCESDIRECTORY"
#$string = "E:\andyli-v\01Agent\_work\6\s" (The length is 29, the number '6' in the string is the 27th character, So get the substring as (26,1) means get one character behind the 26th character)
$parameter = $string.Substring(26, 1)
Write-Host "BUILD_SOURCESDIRECTORY is :" $string
Write-Host "The String length is : "$string.Length
Write-Host "The number is : "$parameter
如果在同一个脚本中执行操作,您可以直接使用 $ parameter 来获取该数字。
如果你想要一个变量,你可以通过PS设置它:
Write-Output ("##vso[task.setvariable variable=GetNumber;]$parameter")
您可以参考那里的文章来设置变量: