PowerShellでパスをチェックアウトし、1分後にこのパスをTeam Foundation Serverでチェックしたいだけです。TFS 2010のファイルをpowershellでチェックアウトする
どうすればいいですか?
私のサーバーにtfs電源ツールをインストールしました。
PowerShellでパスをチェックアウトし、1分後にこのパスをTeam Foundation Serverでチェックしたいだけです。TFS 2010のファイルをpowershellでチェックアウトする
どうすればいいですか?
私のサーバーにtfs電源ツールをインストールしました。
パワーツールは必要ありません。 TFSチームエクスプローラでVisual Studioに付属のtf.exeコマンドラインユーティリティを使用してください。 tf edit <file> /noprompt
をチェックアウトし、tf checkin <file> /comment:$comment /noprompt
をチェックインしてください。詳細については、tf /?
とtf checkin /?
のtf.exeのコマンドラインの使用方法をご覧ください。 tf.exeへのパスでPowerShellセッションを設定する必要があります。これは通常VS varsバッチファイルによって行われます。しかし、単にパスに次のように追加することができます:$PATH += "${VS110COMNTOOLS}..\Ide"
。
パワーツールのコマンドレットがpowershell用にインストールされている場合。 Kiethのようなパスは必要ありません。コマンドレットの一部は、完全なtf.exeパスのtfの別名です。したがって、単にtf.exeコマンドラインリファレンスhereを使用するだけで、powershellコマンドレットが正しくインストールされている場合は、これらのすべてが動作するはずです。
あなたは
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
これは私の解決策ですが、あなたのPowerShellは彼らは、このコマンドを使用してインストールされていることを確かめてください。ここでは
$tf = &"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" checkout C:\setup\folder /recursive
$tf | Out-null
x86 vs x64とは何ですか? http://geekswithblogs.net/Lance/archive/2009/12/29/program-files-environment-variable-in-powershell.aspx – Kiquenet
@Kiquenet、私はVisual Studioはまだ32ビットだと信じています。 –
は、スナップインがあるかどうかをチェックする関数ですインストールされます。あなたは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
}
}
これは魅力的に機能しました。私はビジュアルスタジオのバージョンを鉱山に合わせて変更するだけでした。それが見つかるまで、$ {VS ### COMNTOOLS}を降順で循環させると涼しいでしょう。 – Benrobot
@Benrobot - 私はこれを本当に素早く一緒に投げましたが、これを試すことができます。 '$ cmntools = Get-ChildItem -Path 'Env:\ VS * COMNTOOLS' |ソートオブジェクト - プロパティ '名前' - 低下| %{($ _。Value.replace( '\ Tools \'、 '\ IDE \ TF.exe'))} ' – Jim
を使用して別のオプションは、あなたが選ぶことなく、同じコマンドで複数のファイルを処理しようとしている場合にはワイルドカードを使用することで、ことを使用しています他のファイルを上書きしたり、ループしたりすることができます。
tf.exe undo AssemblyInfo* /recursive
tf.exe checkout AssemblyInfo* /recursive
#changes files
tf.exe checkin AssemblyInfo* /recursive
最後にTFPTコマンドレットは、32ビットPowerShellでのみ動作していたことに注意してください。 tf.exeアプローチは、32ビットと64ビットPowerShellの両方で動作します。 :-) –
@Keith最新のアップデート(2012年アップデート1で動作)は現在64ビットサポートを提供しています。http://blogs.msdn.com/b/bharry/archive/2012/11/30/new-power-tools- for-update-1-available-aspx – Betty
Keith、私はyoruポイントを理解しています。それが私のやり方です。しかし、問題はPowertools powershellでどうやって解決するかです。 – Alex