At a client site this week, and having to generate the same initial folder structure for many team projects, so I thought I would create a script (.BAT file, no PowerShell sorry).
Below is the script, but here are a few details to point out:
- I assume that my workspace name and local folder name is the same as the team project
- I put my local workspace folders under a common D:\Workspaces folder
- You can set the team project name easily by tweaking the SET line below
- I could have, and should have parameterized the folder root, TFS, comments, etc.
Hope you can make use of it:
@ECHO OFF
SET TeamProject=Sample
ECHO Create folder Structure
ECHO.
D:
CD\
MD D:\Workspaces
MD "D:\Workspaces\%TeamProject%"
MD "D:\Workspaces\%TeamProject%\Code"
MD "D:\Workspaces\%TeamProject%\Code\DEV"
MD "D:\Workspaces\%TeamProject%\Code\QA"
MD "D:\Workspaces\%TeamProject%\Code\PROD"
MD "D:\Workspaces\%TeamProject%\Documents"
CD "\Workspaces\%TeamProject%"
ECHO.
ECHO Drop existing workspace
ECHO.
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workspace /delete /noprompt /server:TFSSRV1 "%TeamProject%"
ECHO.
ECHO Create workspace mapping
ECHO.
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workspace /new /noprompt /computer:TFSSRV1 /comment:"Created by Richard Hundhausen" /server:TFSSRV1 "%TeamProject%"
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workfold /server:TFSSRV1 /workspace:"%TeamProject%" /unmap $/
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workfold /server:TFSSRV1 /workspace:"%TeamProject%" /map $/"%TeamProject%" D:\Workspaces\"%TeamProject%"
ECHO.
ECHO Adding folders to version control
ECHO.
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" add Code /recursive /noprompt
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" add Documents /recursive /noprompt
ECHO.
ECHO Check in
ECHO.
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" checkin /comment:"Created by Richard Hundhausen" /noprompt /recursive "D:/Workspaces/%TeamProject%"
PAUSE