获取TFS错误中已签出文件的列表

时间:2014-09-15 20:38:40

标签: powershell tfs tfs2013

我正在尝试通过tf.exe命令行获取TFS中已签出/挂起文件的列表。

  • 所有已连接的用户都使用本地工作区
  • 使用锁定类型手动结帐:签入 - 允许其他用户签出但阻止他们签入
  • TFS 2013和VS 2013

当我运行powershell脚本

&安培; “C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ tf.exe”status / user:*

我确实收到了待处理的已检出文件列表,但它也给出了如下错误消息: tf.exe:如果未提供工作区或该工作区位于另一台计算机上,则使用/ user选项时,将不会显示本地工作区的更改...

无论如何只是获取列表而不是抛出错误?我正在尝试在构建服务器中使用此脚本来检查是否已手动签出任何文件。

我知道通过切换到服务器工作区,此问题不会出现,此时此选项无法解决。

由于

1 个答案:

答案 0 :(得分:3)

您可以将stderr输出重定向到日志文件,例如:

tf status . /r /user:* 2>tf-status-err.log

您还可以使用Team Foundation Server Power Tools随附的TeamFoundation PowerShell管理单元。

Import-Module Microsoft.TeamFoundation.PowerShell
Get-TfsPendingChange . -Recurse -User * | Select -Exp PendingChanges | Format-List *

PowerShell命令很不错,因为您不必像使用tf status的输出那样解析文本。