Ich habe eine Batch-Datei, die ein paar ausführbare Dateien ausgeführt wird, und ich möchte es bei Erfolg beenden, aber aufhören, wenn der Exit-Code <> 0. Wie mache ich das?Get Fehlercode aus einer Batch-Datei
Antwort
Klingt, als ob Sie den Befehl "If Errorlevel" möchten. Unter der Annahme, die ausführbare Datei zurückgibt, ein nicht-0 Exit-Code bei einem Fehler tun Sie so etwas wie:
myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.
Errorlevel Prüfung als Größer-oder-gleich-Check durchgeführt wird, so dass jeder Nicht-0 Exit-Wert wird den Sprung auslösen. Wenn Sie also nach mehr als einem bestimmten Exit-Wert suchen müssen, sollten Sie zuerst nach dem höchsten Exit-Wert suchen.
Sie können auch conditional processing symbols verwenden, um eine einfache Erfolgs-/Fehlerprüfung durchzuführen. Zum Beispiel:
myProgram.exe && echo Done!
würde drucken Done!
nur, wenn myProgram.exe
mit Fehlerstufe zurückgegeben 0.
myProgram.exe || PAUSE
die Batch-Datei zu unterbrechen würde verursachen, wenn MyProgram.EXE einen nicht-Null-Fehler-Ebene zurückgibt.
Sehr cool, kompakt und tatsächlich besser lesbar würde ich sagen – Dlongnecker
Ich muss zustimmen, dass diese Lösungen viel besser scheint – dmportella
So könnten Sie tun: 'myProgram.exe || exit/b 1' um den Rest der Befehle zu stoppen? – rakslice
- 1. Get HTTP-Fehlercode aus requests.exceptions.HTTPError
- 2. So rufen Sie eine Batchdatei aus einer anderen Batchdatei mit Parametern auf, die Leerzeichen enthalten?
- 3. Druckzeit in einer Batchdatei (Millisekunden)
- 4. Erstellen einer Batchdatei mit Befehlszeilenparametern?
- 5. Batchdatei aus JScript in HTA ausführen
- 6. get versionName aus einer Webansicht
- 7. Get Name einer Variablen aus einer Zeichenfolge
- 8. Analysieren Sie mehrere Argumente in einer Batchdatei.
- 9. wie eine cmd.exe Batchdatei in einer Unterschale
- 10. Wie rufen Sie eine andere Batchdatei in einer Batchdatei mit if-Anweisungen und Eingaben auf?
- 11. Batchdatei-Meldungsfeld: Wagenrücklauf im Nachrichtentext
- 12. Batchdatei-Token ignorieren leere Trennzeichen
- 13. Get System.Web.HttpResponse aus einer Klasse, die System.Web.UI.Page
- 14. Get Ressourcen-ID aus einer Zeichenfolge
- 15. Get String-Array aus einer anderen Anwendung
- 16. Get distinct Elemente aus einer Liste
- 17. Get Unterliste aus einer Liste in Freemarker
- 18. Batchdatei Ereignisanzeige schreiben
- 19. Batchdatei IF-Anweisung beheben
- 20. Kompilieren Typoskript Fehlercode mit get set „beendet mit Code 1“
- 21. Vergleichen eines Fehlercode Enum mit Std :: Fehlercode
- 22. Wie kann ich den aktuellen Laufwerksbuchstaben in einer Batchdatei testen?
- 23. Kann SQL-Skript nicht aus Batchdatei ausführen lassen zu
- 24. Wie Kleinbuchstaben Dateinamen in einer Batchdatei mit Originalgehäuse ersetzen?
- 25. Batchdatei zum Ziehen eines Dateinamens
- 26. Verwenden Batchdatei auszuführen Mehrere Konsolenanwendungen
- 27. Batchdatei äquivalent für diesen Code
- 28. Ausführen einer Rails-RJS-Vorlage aus einer jquery get-Anforderung
- 29. Wie führe ich eine Batchdatei von einer Netzwerkfreigabe in Vista ohne den Warndialog aus?
- 30. Warum friert diese Batchdatei ein?
Außerdem gibt es seit Windows 2000 eine "virtuelle" Umgebungsvariable namens '% ERRORLEVEL%', die mit '==', 'EQU',' LSS' usw. getestet werden kann. –
Perfekt! Vielen Dank. – Dlongnecker
Oh, für die Nachwelt, um es bei einem Fehler zu stoppen, nach: somethingbad, benutze einen "Pause" -Befehl – Dlongnecker