Frage

Ich habe eine Batch-Datei, ‚buildAll.bat‘, die eine Reihe von Projekten aufbaut. Es wird durch eine andere Batch-Datei ‚manager.bat‘ bezeichnet werden. Die ‚buildAll.bat‘ Job ausführt, in einem anderen Fenster und gibt eine Menge Text. Ich möchte die Fortschritte des Build-Job im Originalfenster angezeigt werden ( ‚manager.bat‘), wie folgt aus:

Bauobjekt 1 ... getan. Bauvorhaben 2 ... getan. Bauvorhabens 3 ... getan. ... Build abgeschlossen.

Wie kann der Build-Fortschritt zwischen den beiden Stellen kommuniziert werden?

War es hilfreich?

Lösung

Temporäre Dateien, zum Beispiel.

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.
...

Natürlich kann dies durch Informationen über die Weiterleitung wesentlich leistungsfähiger gemacht werden, welche Projekte gebaut werden und so weiter an den Manager. Aber im Prinzip ist es ohne weiteres möglich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top