Generating a changelog from TFS

Update: I filed a request on the Visual Studio User Voice for an export to text and excel for this feature. Please vote for it!

We have a requirement to deliver a list of add, removed and changed files as part of every release. TFS of course contains all this information and it's very easy to extract it using the "Folder Compare" option.

For both the Source Path and the Target Path select the option to query against a "Server Path...". Then specify a date, label or changeset version for the source. In our case we generally select "Latest Version" for the target.

Click OK and you're presented with a nice overview of all your changes:

The problem with this window is, that you can't copy paste anything out of it. So you can't include this information in a changelog or a similar document.

This is where the commandline comes to the rescue.

tf folderdiff $/;C5 $/;T /recursive /noprompt /filter:!bin\;!bld\;!ClientBin\;!Debug\;!obj\;!Package\;!Release\;!TestResults\;!\*.\*~!\*.appx!\*.appxrecipe;!\*.cache!\*.cer!\*.dbmdl!\*.dll!\*.docstates!\*.docstates.suo;!\*.err!\*.exe!\*.ilk!\*.ipch!\*.lastbuildstate!\*.lce!\*.ldf!\*.lib!\*.log!\*.mdf!\*.msscci!\*.ncb!\*.obj!\*.opensdf!\*.pch!\*.pdb!\*.pri!\*.res!\*.resources!\*.sdf!\*.suo!\*.swp!\*.temp!\*.tfOrig\*!\*.tlog!\*.tmp!\*.trx!\*.user!\*.unsuccessfulbuild!\*.v11.suo!\*.vcxproj.user!\*.vsix!\*.vsmdi!\*.vspscc!\*.vssettings!\*.vssscc!\*.wrn!\*.xap > changelog.txt

This will create a nicely formatted text file with all your changes. You can grab most of the information for the commandline from the UI. The source and target path and the correct versionspec are displayed in the title of the Folder difference screen (see above); the filter can be grabbed from the Folder Compare window.

If you execute the command line from a mapped folder from the same Team Project, you don't need to speci