Questo è quello che ho trovato durante l'esecuzione di file batch in parallelo (più istanze dello stesso file bat allo stesso tempo con diversi parametri di input):
Diciamo che si dispone di un file exe che esegue una lungo lavoro chiamato LongRunningTask.exe
Se si chiama l'exe direttamente dal file bat, solo la prima chiamata al LongRunningTask si succed, mentre il resto sarà un errore del sistema operativo "il file è già in uso dal processo"
Se si utilizza questo comando:
start/B/WAIT "" "" "LongRunningTask.exe parametri"
Sarete in grado di eseguire più istanze del pipistrello e exe, mentre ancora in attesa che il compito di terminare prima che il pipistrello continui a eseguire i restanti comandi. L'opzione/B è per evitare di creare un'altra finestra, le virgolette vuote sono necessarie per il comando per funzionare, vedere il riferimento sotto.
Si noti che se non si utilizza/WAIT all'inizio, LongRunningTask verrà eseguito contemporaneamente ai restanti comandi nel file batch, quindi potrebbe creare problemi se uno di questi comandi richiede l'output del LongRunningTask
Ripresa:
Questa corsa CAN NOT in parallelo:
- chiamata LongRunningTask.exe
Questo sarà eseguito in parallelo e sarà ok per quanto non ci sono dipendenze di dati tra l'output del comando e il resto del file bat:
- start/B "" "LongRunningTask.exe" " parametri "
Questo verrà eseguito in parallelo e attendere che il compito di finire, in modo da poter utilizzare l'uscita:
- start/B/WAIT """ LongRunningTask.exe" "parametri"
di riferimento per il comando di avvio: How can I run a program from a batch file without leaving the console open after the program start?
Date un'occhiata a https://technet.microsoft.com/en-us/library/bb491005.aspx è di circa START e https: //technet.microsoft.com/en-us/library/bb490873.aspx è su CALL –