Prüfung ErrorLevel
arbeitet für Konsole Anwendungen, aber wie bereits angedeutet von dmihailescu funktioniert dies nicht, wenn Sie versuchen, eine mit Fenstern Anwendung (z. B. Win32-basiert) von einer Befehlszeile aus. Eine Fensteranwendung wird im Hintergrund ausgeführt, und die Kontrolle kehrt sofort zur Eingabeaufforderung zurück (höchstwahrscheinlich mit einem ErrorLevel
von Null, um anzuzeigen, dass der Prozess erstellt erfolgreich). Wenn eine Fensteranwendung schließlich beendet wird, geht ihr Exit-Status verloren.
Statt den an anderer Stelle erwähnten konsolenbasierten C++-Launcher zu verwenden, besteht eine einfachere Alternative darin, eine Fensteranwendung mit der Kommandozeilenoption START /WAIT
Befehl. Dadurch wird die Anwendung im Fenster gestartet, auf ihre Beendigung gewartet und dann die Kontrolle an die Eingabeaufforderung zurückgegeben, wobei der Beendigungsstatus des Prozesses in ErrorLevel
.
start /wait something.exe
echo %errorlevel%
8 Stimmen
Auch auf SuperUser gefragt: Wie kann man den Exit-Code des letzten Befehls in einer Batch-Datei überprüfen?
1 Stimmen
Ich habe nach "Win8 How to get CMD prompt to show exit status" gegoogelt, so wie wir es in Linux tun können. Dies war die erste Auswahl und ist genau.
2 Stimmen
Sie können schnell sehen, was die App zurückgibt:
app.exe & echo %errorlevel%