Gibt es eine Möglichkeit, eine Anwendung auszuführen, ohne in der Batch-Datei zu warten? Ich habe den startBefehl ausprobiert, aber er erstellt nur ein neues Befehlsfenster.
Gibt es eine Möglichkeit, eine Anwendung auszuführen, ohne in der Batch-Datei zu warten? Ich habe den startBefehl ausprobiert, aber er erstellt nur ein neues Befehlsfenster.
Antworten:
Ich mache hier eine Vermutung, aber Ihre startAnrufung sieht wahrscheinlich so aus:
start "\Foo\Bar\Path with spaces in it\program.exe"
Dadurch wird ein neues Konsolenfenster geöffnet, in dem "\ Foo \ Bar \ Path mit Leerzeichen in der Datei \ program.exe" als Titel verwendet wird.
Wenn Sie startetwas verwenden, das von Anführungszeichen umgeben ist (oder sein muss), müssen Sie als erstes Argument leere Anführungszeichen setzen:
start "" "\Foo\Bar\Path with spaces in it\program.exe"
Dies liegt daran start, dass das erste zitierte Argument als Fenstertitel für ein neues Konsolenfenster interpretiert wird .
start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
Wenn Ihre Exe Argumente nimmt,
start MyApp.exe -arg1 -arg2
Ich habe dafür start / b verwendet, anstatt nur zu starten, und es lief ohne Fenster für jeden Befehl, sodass nicht gewartet werden musste.
Wenn start nicht finden können, wonach es sucht, macht es das, was Sie beschreiben.
Da das, was Sie tun, funktionieren sollte, ist es sehr wahrscheinlich, dass Sie einige Zitate weglassen (oder Extras einfügen).
startinnerhalb einer -edcall-ed .bat-Datei B (die wiederum von genannt war A ) und C geöffnet bleibt , nachdem B Oberflächen (zB C ist ein Dienst oder etwas, das nur darauf wartet, dass etwas passiert, und keinen festen Endpunkt hat, bis das Betriebssystem heruntergefahren wird. Das übergeordnete A, das das enthält,callkann möglicherweise nicht wie erwartet beendet werden, es sei denn, der Prozess C wird geschlossen oder ist es getötet. Hier ist ein einfaches Beispiel: codepad.org/KLglXDnZ