PowerShell でパスをチェックアウトし、1 分後に Team Foundation Server でこのパスもチェックインしたいだけです。
これどうやってするの?
サーバーに tfs パワー ツールをインストールしました。
PowerShell でパスをチェックアウトし、1 分後に Team Foundation Server でこのパスもチェックインしたいだけです。
これどうやってするの?
サーバーに tfs パワー ツールをインストールしました。
電動工具は必要ありません。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"
。
これは、スナップインがインストールされているかどうかを確認する関数です。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
}
}
これが私の解決策です:
$tf = &"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" checkout C:\setup\folder /recursive
$tf | Out-null
PowerShell 用のパワー ツール コマンドレットがインストールされている場合。完全な tf.exe パスのコマンドレット エイリアス tf の一部である Kieth の言及のようなパスは必要ありません。したがって、ここでtf.exe コマンド ライン リファレンスを使用するだけで、powershell コマンドレットが正しくインストールされていれば、これらすべてが機能するはずです。
ただし、このコマンドを使用して、PowerShell にそれらがインストールされていることを確認する必要があります。
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
別のオプションは、他のファイルを取得したりそれらをループしたりせずに同じコマンドで複数のファイルを処理しようとしている場合に、ワイルドカードを使用することです。
tf.exe undo AssemblyInfo* /recursive
tf.exe checkout AssemblyInfo* /recursive
#changes files
tf.exe checkin AssemblyInfo* /recursive