witadmin 不是 TFS Power Tools 的一部分,应该可以从默认安装的 Visual Studio 和团队资源管理器上的 Visual Studio 命令提示符中获取。
如果由于任何原因它不可用,您应该能够在“c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”或等效路径中找到它,以防 Visual Studio 安装在其他地方。
参数名称和参数本身之间不应有任何空格,并且可以通过用逗号分隔来指定多个 ID:
witadmin destroywi /collection:host\collection /id:3,5,7
编辑以包含 OP 的新要求
如果您需要更灵活地确定要销毁哪些工作项,您应该求助于 Team Foundation 的客户端 API。在下面的示例中,我创建了一个接收两个参数的控制台应用程序:团队项目的名称和 WIQL 查询:
using System;
using System.Linq;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace DelWi {
class Program {
static void Main(string[] args) {
var store = new WorkItemStore(args[0]);
WorkItemCollection workItems = store.Query(args[1]);
if (workItems.Count == 0) {
Console.WriteLine("No work items with the specified criteria.");
}
var query = from workItem in workItems.Cast<WorkItem>()
select workItem.Id;
foreach (var item in store.DestroyWorkItems(query)) {
Console.WriteLine("{0}\t{1}", item.Id, item.Exception.Message);
}
Console.WriteLine("Press any key to continue...");
Console.Read();
}
}
}
编译后,您可以通过传递参数来调用它,例如:
DelWi.exe "host\defaultcollection" "SELECT * FROM WorkItems WHERE [System.TeamProject] = 'The Best Team Project Ever' AND [System.WorkItemType] = 'Test Case' AND [System.Id] > 34 AND [System.Id] < 37"
但要小心,因为如果您没有正确指定查询,您最终可能会删除比您想要的更多的工作项。