Question

J'ai un fichier batch, « buildAll.bat », qui construit un ensemble de projets. Il sera appelé par un autre fichier batch, « manager.bat ». Le travail « buildAll.bat » Les dans une autre fenêtre exécute et génère beaucoup de texte. Je veux que le progrès du travail de construction à afficher dans la fenêtre d'origine ( « manager.bat »), comme ceci:

Projet de construction 1 ... fait. Projet de renforcement des 2 ... fait. Projet de renforcement 3 ... fait. ... Build completed.

Comment les progrès de la construction peut être communiquée entre les deux emplois?

Était-ce utile?

La solution

Les fichiers temporaires, par exemple.

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

Bien sûr, cela peut être beaucoup plus puissant en relayant des informations sur les projets construits et ainsi de suite au gestionnaire. Mais en principe, il est facilement possible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top