2009-07-24 18 views
17

Lo que quiero hacer es obtener una versión específica de un archivo de TFS a una ubicación que no sea mi área de trabajo usando la línea de comando (tf.exe o powershell)Necesita comando para obtener un archivo de TFS sin un área de trabajo

Quiero hacer esto para que no afecte a los archivos en mi espacio de trabajo, y coloca el archivo en una carpeta de lanzamiento.

tf.exe solo parece ser compatible con la obtención de un archivo en su espacio de trabajo.

No he encontrado una manera de hacerlo con Powershell tampoco.

¿Alguien puede ayudarme?

Respuesta

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

En lugar de "tf view xx>% temp \ file.text" también puede usar el argumento/output. El comando se convierte en: tf view $/path/to/file.txt/version: 1234 /output:"%temp%\file.txt " –

+0

Tiene que haber una forma de hacerlo a través de la GUI - loco – PeterX

Cuestiones relacionadas