7

PowerShell でパスをチェックアウトし、1 分後に Team Foundation Server でこのパスもチェックインしたいだけです。

これどうやってするの?

サーバーに tfs パワー ツールをインストールしました。

4

5 に答える 5

10

電動工具は必要ありません。Visual Studio に付属の tf.exe コマンド ライン ユーティリティを TFS チーム エクスプローラーで使用するだけです。 tf edit <file> /nopromptチェックアウトとtf checkin <file> /comment:$comment /nopromptチェックイン。詳細tf /?tf checkin /?. tf.exe へのパスを使用して PowerShell セッションを構成する必要があります。これは通常、VS vars バッチ ファイルによって行われます。ただし、次のようにパスに単純に追加できるはずです$PATH += "${VS110COMNTOOLS}..\Ide"

于 2012-12-03T16:21:28.507 に答える
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
    }
}
于 2013-10-07T13:53:06.350 に答える
3

これが私の解決策です:

$tf = &"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe"     checkout C:\setup\folder /recursive
$tf | Out-null
于 2012-12-05T06:40:15.493 に答える
2

PowerShell 用のパワー ツール コマンドレットがインストールされている場合。完全な tf.exe パスのコマンドレット エイリアス tf の一部である Kieth の言及のようなパスは必要ありません。したがって、ここでtf.exe コマンド ライン リファレンスを使用するだけで、powershell コマンドレットが正しくインストールされていれば、これらすべてが機能するはずです。

ただし、このコマンドを使用して、PowerShell にそれらがインストールされていることを確認する必要があります。

 Add-PSSnapin Microsoft.TeamFoundation.PowerShell
于 2012-12-03T16:33:24.573 に答える
0

別のオプションは、他のファイルを取得したりそれらをループしたりせずに同じコマンドで複数のファイルを処理しようとしている場合に、ワイルドカードを使用することです。

   tf.exe undo AssemblyInfo* /recursive
   tf.exe checkout AssemblyInfo* /recursive
   #changes files
   tf.exe checkin AssemblyInfo* /recursive
于 2014-07-14T21:12:42.000 に答える