¿Cómo crear un script de compilación simple para Visual Studio desde la línea de comandos?

Tengo muchas soluciones de Visual Studio Project en varios directorios (todos con la extensión .sln) y quiero escribir un script por lotes simple que genere automáticamente todas las soluciones enumeradas en el archivo por lotes.

Puedo crear manualmente una solución iniciando elVisual Studio Command Prompt (que es solo una instancia de línea de comandos con el siguiente comando ejecutado

"%comspec%" /k "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

Después de lo cual construyo el proyecto llamando:

devenv "path\to\solutionFile\projectSolution1.sln" /build Debug

Esto compilará el proyecto (suponiendo que el proyecto no tenga errores) y enjuague y repita para cada proyecto que quiera construir.

sin embargo cuando tengo lo siguiente en un archivo por lotes llamadobuild.bat:

"%comspec%" /k "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86  
echo "Starting Build for all Projects with proposed changes" 
echo . 
devenv "path\to\solutionFile\projectSolution2.sln" /build Debug
devenv "another\path\to\solutionFile\projectSolution3.sln" /build Debug
devenv "yet\another\path\to\solutionFile\projectSolution4.sln" /build Debug
echo "All builds completed."
pause

El script por lotes solo ejecuta la primera líneay espera hasta que escribaexit antes de ejecutar a los demás. Mi comprensión de esto basada en la investigación que he realizado sobre archivos por lotes y todas las preguntas de StackOverflow es quecmd en realidad invoca otra instancia de sí mismo que se ejecutavcvarsall.bat para configurar el entorno de construcción.

Esto no funcionará como escribirexit mata esa instancia condevenv configurar y los comandos posteriores no se pueden ejecutar comodevenv no es un comando reconocido (ya que la ruta exportada ya no existirá)

En breve, cómo se puede lograr esto (pasando el resto de los comandos a la instancia de cmd condevenv definido) en un solo archivo por lotes? Entiendo que esta no es una forma sólida (y hay muchas herramientas que hacen esto) de invocar construcciones, pero solo espero tener un script por lotes para automatizar el trabajo manual de llamar individualmente a estos proyectos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta