We upgraded to VS 2012 and TFS 2012 a month ago.
I have a backupShelve.cmd that used to work before upgrade, but when I run it yesterday caused the error
Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'
The backupShelve.cmd file is the following
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
tf shelve /replace /comment:"Current backup" CurrentBackupMT01 /noprompt
After some time I've noticed, that batch file refers to version 10 folder instead of "Microsoft Visual Studio 11".
After I've changed folder name, TF started to work.