108

I use WinXP, VS 2008 and Team Explorer to connect to Team Foundation Server.

I need to script (e.g. BAT file script) the following:

  • Get latest version of folder in Team Project.
  • Check out files of folder in Team Project.
  • Check in files of folder in Team Project.

My TFSProject is $/Arquitectura/Main/, mapped to the path C:\TFS\Arquitectura

Does anyone have any sample code or suggestions?

6 Answers 6

166

Use tf.exe in the command line.

In the following examples, the %PathToIde% is usually on a path like this: %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE, or on Windows x64: %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE (depending on Visual Studio version and installation settings).

Example for get:

cd C:\TFS\Arquitectura "%PathToIde%\TF.exe" get $/Arquitectura/Main /recursive 

Example for checkout:

cd C:\TFS\Arquitectura "%PathToIde%\TF.exe" checkout $/Arquitectura/Main /recursive 

Example for checkin:

cd C:\TFS\Arquitectura "%PathToIde%\TF.exe" checkin $/Arquitectura/Main /recursive 

See for more information on the tf commandline.

Sign up to request clarification or add additional context in comments.

3 Comments

"%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" get $/Project /recursive for VS 2010 on Win x64. Thanks for input, very useful!
"%VS120COMNTOOLS%..\IDE\TF.exe" get $/PROJECT_NAME /recursive for VS2013
Sorry for digging up this old post, but i have a question: When working with different local TFS workspaces, where do i specify the workspace to use? Or is this implied by the current working directory?
13

Update for VS2017

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe'

2 Comments

Better comment than answer.
Thanks for professional "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe"
6

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\tf.exe" get "$/ProjectName/Main" /force /recursive

1 Comment

@Neolisk Why are you suggesting the use of /force in this standard case?
4

get up to date code for Windows 7 64bit

"%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" get /recursive 

This worked for me.

Comments

0

I tried the following piece of code in Powershell on Windows 10 64-bit and it worked for me:

cd C:\MyWorkspace
& "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe" get $/TFSFolderPath /recursive

Please note that the second line starts with an Ampersand (&), my code doesn't work without it, don't know the reason for it though.

1 Comment

Found explanation for the & Call operator. Surrounding a command with quotes will make PowerShell treat it as a string, so in addition to quotes, use the & call operator to force PowerShell to treat the string as a command to be executed.
0

Update for Visual Studio 2022

Create a Batch file for taking the latest version from TFS. Save this file with .bat extension

TakeLatest.bat

@echo off title Project Builder echo Taking Latest of All Projects which are listed here cd /d %~dp0 call "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe" get /recursive pause 

Note: cd /d is your project folder location drive

For Visual Studio 2019

Update with this line into batch file ,

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe" get /recursive 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.