2009-07-24 3 views
17

Что я хочу сделать, так это получить определенную версию файла из TFS в местоположение , отличное от моей рабочей области, используя командную строку (либо tf.exe, либо powershell)Необходимая команда для получения файла из TFS без рабочего пространства

Я хочу сделать это, чтобы он не влиял на файлы в моей рабочей области и помещает файл в папку выпуска.

tf.exe только, кажется, поддерживает получение файла в вашем рабочем пространстве.

Я также не нашел способ сделать это с Powershell.

Может ли кто-нибудь помочь мне?

ответ

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

Вместо «tf view xx>% temp \ file.text» вы также можете использовать аргумент/output. Затем команда становится: tf view $/path/to/file.txt/version: 1234 /output:"%temp%\file.txt " –

+0

Должен быть способ сделать это через GUI - сумасшедший – PeterX

Смежные вопросы