0

我可以使用 tf.exe 轻松映射/取消映射工作目录,但如果映射到另一个文件夹或工作区根目录存在,这仍然会干扰我在脚本中映射特定目录。

有没有办法从工作区中删除所有工作目录映射,所以我知道我有一个“干净的石板”可以工作?

4

1 回答 1

0

TF.exe 不支持隐式删除所有文件夹映射。但是,您可以使用 PowerShell 来实现:

Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
                       "Microsoft.TeamFoundation.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
                       "Microsoft.TeamFoundation.VersionControl.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"


$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection("http://tfsserver:8080/tfs/DefaultCollection")
$tfs.EnsureAuthenticated()
$vcs = $tfs.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
$workspace = $vcs.GetWorkspace("workspace_name", "owner")

foreach($folder in $workspace.Folders)           
{   
       Write-Output "Removing $folder"
       $workspace.DeleteMapping($folder)
}
于 2013-07-17T15:20:21.823 回答