2009-07-24 4 views
17

Was ich tun möchte, ist eine bestimmte Version einer Datei von TFS zu einem Speicherort anderen als meinem Arbeitsbereich mit der Befehlszeile (entweder tf.exe oder Powershell)Benötigen Befehl, um eine Datei von TFS ohne einen Arbeitsbereich abzurufen

Ich möchte dies tun, damit es die Dateien in meinem Arbeitsbereich nicht beeinflusst, und die Datei in einem Freigabeordner platziert.

tf.exe scheint nur das Abrufen einer Datei in Ihrem Arbeitsbereich zu unterstützen.

Ich habe auch keinen Weg gefunden, es mit Powershell zu tun.

Kann mir jemand helfen?

Antwort

24
rem tf.exe 
tf view $/path/to/file.txt /version:1234 > %temp%\file.txt 

# powershell 
$tfs = get-tfsserver $hostName -all 
$tfs.vcs.DownloadFile($serverPath, $fileName) 

# even better: manipulate entirely in-memory 
$item = $tfs.vcs.GetItem($serverPath) # tons of GetItem(s) overloads available 
$contents = ([io.streamreader]$item.DownloadFile()).ReadToEnd() 
$contents | ? { some-condition } | do-coolstuff 
+5

Anstelle von "tf view xx>% temp \ file.text" können Sie auch das Argument/output verwenden. Der Befehl lautet dann: tf view $/pfad/zu/datei.txt/version: 1234 /output:"%temp%\file.txt " –

+0

Es muss eine Möglichkeit geben, dies über die GUI zu tun - verrückt – PeterX

Verwandte Themen