104
votes

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?

5

5 Answers

163
votes

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.

13
votes

Update for VS2017

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

5
votes

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

4
votes

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.

0
votes

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.