Pregunta

Tengo un archivo por lotes, 'buildall.bat', que construye un conjunto de proyectos. Se llamará por otro archivo por lotes, 'manager.bat'. El 'buildall.bat' ejecuta el trabajo en otra ventana y da salida a una gran cantidad de texto. Quiero que el progreso del trabajo de construcción que se mostrará en la ventana original ( 'manager.bat'), así:

Proyecto de construcción 1 ... hecho. La construcción del proyecto 2 ... hecho. La construcción del proyecto 3 ... hecho. ... Construcción completada.

¿Cómo se puede comunicar el progreso de construcción entre los dos puestos de trabajo?

¿Fue útil?

Solución

Los archivos temporales, por ejemplo.

buildAll.cmd

del /Q %TEMP%\Project*Done>nul 2>&1
...
rem build project 1
copy nul %TEMP%\Project1Done >nul
rem build project 2
copy nul %TEMP%\Project2Done >nul
...

manager.cmd

...
<nul set /p X=Building project 1 ... 
:waitforproject1
if exists %TEMP%\Project1Done goto project1done
ping -n 1 localhost >nul 2>&1
goto waitforproject1
:project1done
echo done.

<nul set /p X=Building project 2 ... 
:waitforproject2
if exists %TEMP%\Project2Done goto project2done
ping -n 1 localhost >nul 2>&1
goto waitforproject2
:project2done
echo done.
...

Por supuesto, esto se puede hacer mucho más potente por la transmisión de información sobre qué proyectos se construyen y así sucesivamente con el gerente. Pero, en principio, es fácilmente posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top