使用PowerShell从TFS 2010签出文件

时间:2012-12-03 15:07:42

标签: powershell tfs tfs2010 powershell-v2.0

我只想查看powershell的路径,并在一分钟后在Team Foundation Server上检查此路径。

我该怎么做?

我已经在我的服务器上安装了tfs电源工具。

5 个答案:

答案 0 :(得分:9)

您不需要电动工具。只需使用Visual Studio随TFS Team Explorer附带的tf.exe命令行util。 tf edit <file> /noprompt要签出并tf checkin <file> /comment:$comment /noprompt签入。请查看tf.exe上的命令行用法以获取更多信息tf /?tf checkin /?。您需要使用tf.exe的路径配置PowerShell会话。这通常由VS vars批处理文件完成。但是你应该能够简单地添加到这样的路径:$PATH += "${VS110COMNTOOLS}..\Ide"

答案 1 :(得分:6)

这是一个功能,它将检查是否安装了管理单元。如果您安装了powertools,它会使用它,否则,它会使用命令行工具tf.exe

function checkout-file([string] $file)
{
    "Checking out $file"
    if ((Get-PSSnapin -Name  Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null )
    {
        Add-PsSnapin  Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue

        if ((Get-PSSnapin -Name  Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null )
        {
            #try to check out the code using command line tf.exe
            &"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\TF.exe" checkout $file | Out-Null
        }
        else{
            #checkout the file using snapin
            Add-TfsPendingChange -Edit $file | Out-Null
        }
    }else{
        #checkout the file using snapin
        Add-TfsPendingChange -Edit $file | Out-Null
    }
}

答案 2 :(得分:2)

如果您为powershell安装了电动工具命令行开关。您不需要像Kieth提到的路径,部分命令行开关别名tf为完整的tf.exe路径。因此,只需使用tf.exe命令行参考here,如果您正确安装了powershell命令行开关,则所有这些都可以正常工作。

您应该通过

使用此命令确保您的powershell安装了它们
 Add-PSSnapin Microsoft.TeamFoundation.PowerShell

答案 3 :(得分:2)

这是我的解决方案:

$tf = &"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe"     checkout C:\setup\folder /recursive
$tf | Out-null

答案 4 :(得分:0)

另一种选择是使用通配符,如果您尝试在同一命令中处理多个文件而不拾取其他文件或循环它们。

   tf.exe undo AssemblyInfo* /recursive
   tf.exe checkout AssemblyInfo* /recursive
   #changes files
   tf.exe checkin AssemblyInfo* /recursive