Kombination von START /WAIT und /B möglich?

Ich stehe vor einem ziemlich BLÖDEN problem. Ich habe eine Liste von Befehlen erzeugt durch einen NAnt-Skript. Diese werden in einer bat-Datei. In jeder Zeile ich rufe eine exe-Datei mit mehreren Parametern. Die exe arbeitet auf einem Satz von Dateien und modifiziert Sie. Die Menge der Dateien ist immer das gleiche. Wir reden hier über ~1000 Anrufe von der exe, so dass, wenn jedes mal, wenn eine neue Konsole würde pop-up, die ich bekommen hatte performance-Probleme. "Kein problem", dachte ich und fügte hinzu START /B zu jedem Befehl die Zeile, also nun die exe-Datei gestartet wird, im hintergrund die funktioniert wesentlich schneller.
Nun hier ist das problem: Wie ich bereits erwähnt habe, die exe arbeitet auf den gleichen Satz von Dateien, so passiert es manchmal, dass eine Datei nicht bearbeitet werden kann, weil es bereits geöffnet ist, indem Sie eine andere Instanz des Programms, das führt zu einem Absturz. Ich möchte noch hinzufügen, dass die /W parameter für jeden Aufruf, um sicherzustellen, dass nie zwei Instanzen zur gleichen Zeit laufen. Aber dies irgendwie deaktiviert die /B parameter.

Also meine Frage ist: ist es möglich, meine exe gestartet, im hintergrund UND zwingen meine batch zu warten, für jede Instanz zu beenden?

Bitte Sag mir nicht, dass diese hässlich ist. Ich weiß, aber ich kann nichts ändern das setup. Meine Firma arbeitet bereits mit diesem s*** seit Jahren und der einzige Punkt, wo ich änderungen vornehmen, ist die erzeugte bat-Datei.

Hier ist der code, der generiert bat:

start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
...
start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
start /B /W S:\ome\path\to\my\exe.exe --param1 --param2 "XYZ" --param3 "ZYX" --param4 "1 2 3" --param5 "321" --param6 "1337" --param7
  • Wenn Sie beginnen exe.exe ohne alles, tut es öffnet sich ein neues Fenster? Start /b /wait sollte die gleiche sein, starten Sie es direkt.
  • Du hast Recht, es ist eigentlich start. Ich habe bearbeitet Sie meine post. Ja, die exe.exe öffnet eine neue Konsole. Die exe selbst dauert nur einige Millisekunden, zu beenden, aber es dauert viel länger, um zu öffnen und schließen Sie die Konsole, die ich vermeiden mit /B.
  • superuser.com/a/355342/439537
InformationsquelleAutor MichaelS | 2015-03-19
Schreibe einen Kommentar