如何获取代理中 _work 文件夹中的文件夹数量?

How can I get the numbers of folders in _work folder in agent?

我想获取本地 TFS 代理的 _work 文件夹中的号码。

例如:

C:/agent/_work/1 得到 1

是否有获取 1 部分的变量?

如果需要,请查看不同的变量值和自定义它们的方法。请注意,Agent.DeploymentGroupId 不是您要更改的内容。


Release variables and debugging

Agent.DeploymentGroupId

代理注册的部署组的 ID。这仅在部署组作业中可用。

示例:1

Agent.WorkFolder

此代理的工作目录,其中为每个构建或发布创建子文件夹。与 Agent.RootDirectory 和 System.WorkFolder.

相同

示例:C:\agent_work

您可以使用小型 PowerShell 脚本提取数字并为序列步骤设置新变量:

$folderPath = "$env:Agent_BuildDirectory"
$folderNumber = $folderPath.Split('\')[$folderPath.Split('\').Count - 1]
Write-Host "##vso[task.setvariable variable=folderNumber]$folderNumber"

现在您可以在序列任务中使用变量 $(folderNumber)

你没有理由把这些信息解析出来。给定构建或版本的当前工作文件夹可在变量 $(Agent.BuildDirectory) 中访问。

如果您尝试引用不同构建的工作文件夹,那么您的构建过程有问题,并且有许多不同的有效解决方案那个问题。