2009-07-24 18 views
17

Điều tôi muốn làm là lấy phiên bản cụ thể của tệp từ TFS đến vị trí ngoài không gian làm việc của tôi bằng dòng lệnh (hoặc tf.exe hoặc powershell)Cần lệnh để lấy tệp từ TFS mà không có vùng làm việc

Tôi muốn làm điều này để nó không ảnh hưởng đến các tệp trong không gian làm việc của tôi và đặt tệp đó vào thư mục phát hành.

tf.exe dường như chỉ hỗ trợ nhận tệp vào vùng làm việc của bạn.

Tôi chưa tìm được cách để làm điều đó với Powershell.

Có ai có thể giúp tôi không?

Trả lời

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

Thay vì "tf view xx>% temp \ file.text" bạn cũng có thể sử dụng đối số/đầu ra. Lệnh sau đó sẽ trở thành: tf xem $/path/to/file.txt/phiên bản: 1234 /output:"%temp%\file.txt " –

+0

Có cần phải có một cách để làm điều này thông qua GUI - điên – PeterX

Các vấn đề liên quan