O seguinte funciona para o meu Visual Studio 2012 Express:
@echo off
setlocal
call "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"
start "CL" /B cl.exe %*
endlocal
Isso gerará um processo independente e continuará sem esperar.
vsvars32.bat
não deve ser iniciado em um sub-shell.
Caso contrário, os ajustes do ambiente não sobreviverão à chamada