Domanda

Ho un file batch, 'buildAll.bat', che costruisce una serie di progetti. Si chiamerà da un altro file batch, 'manager.bat'. Il 'buildAll.bat' esegue lavoro in un'altra finestra ed emette un sacco di testo. Voglio che il progresso del lavoro composto da visualizzare nella finestra originale ( 'manager.bat'), in questo modo:

Progetto di costruzione 1 ... fatto. Progetto 2 Costruire ... fatto. Progetto 3 Costruire ... fatto. ... Costruire completato.

Come può essere comunicato il progresso di generazione tra i due lavori?

È stato utile?

Soluzione

I file temporanei, per esempio.

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

Naturalmente, questo può essere reso molto più potente per trasmettere le informazioni su ciò che i progetti sono costruiti e così via con il manager. Ma in linea di principio è facilmente possibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top