To co znalazłem podczas uruchamiania plików wsadowych (równolegle wiele instancji tego samego pliku bat w tym samym czasie z różnych parametrów wejściowych):
Powiedzmy, że masz plik exe, który wykonuje długie zadanie o nazwie LongRunningTask.exe
Jeśli wywołasz exe bezpośrednio z pliku bat, tylko pierwsze wywołanie LongRunningTask powiodło się, podczas gdy reszta otrzyma błąd systemu operacyjnego "Plik jest już w użyciu przez proces"
Jeśli używasz tego polecenia:
start/B/wait „” „” „LongRunningTask.exe Parametry”
będzie można uruchomić wiele instancji bat, exe, wciąż czeka na zadanie Zakończ zanim nietoperz będzie kontynuował wykonywanie pozostałych poleceń. Opcja/B polega na tym, aby uniknąć tworzenia kolejnego okna, puste cytaty są potrzebne, aby polecenie działało, patrz odnośnik poniżej.
Należy zauważyć, że jeśli nie używasz/WAIT na początku, LongRunningTask będzie wykonywany w tym samym czasie, co pozostałe polecenia w pliku wsadowym, więc może powodować problemy, jeśli jedno z tych poleceń wymaga wyjścia z LongRunningTask
wznawianie:
To can not run równolegle:
- wezwanie LongRunningTask.exe
Będzie to działać równolegle i będzie ok o ile nie ma żadnych zależności między danych wyjściowych polecenia i pozostałej części pliku bat:
- start/B „” „LongRunningTask.exe” " parametry "
to będzie działać równolegle i czekać na zadanie do końca, dzięki czemu można korzystać z wyjścia:
- start/B/wait """ LongRunningTask.exe”, "parametry"
odniesienia dla polecenia start: How can I run a program from a batch file without leaving the console open after the program start?
Spójrz na https://technet.microsoft.com/en-us/library/bb491005.aspx jest o START i https: //technet.microsoft.com/en-us/library/bb490873.aspx dotyczy WEZWANIA –