Unter Windows kann man in Batch-Skripten den Erfolg oder Misserfolg eines Befehls mit dem Rückgabewert (Errorlevel, exit code) feststellen. Mit entsprechenden Operatoren lässt sich das sogar noch einfacher umsetzen.
Statt auf die Art
befehl... if %errorlevel% ...
zu hantieren, kann man mit einer bedingten Befehlsverkettung arbeiten. So stehen die Operatoren „&&“ dafür den zweiten Befehl nur bei Erfolg und „||“ nur bei Misserfolg auszuführen. Das Ganze lässt sich sogar miteinander kombinieren.
Ein Beispiel:
taskkill /im test123.exe && echo Prozess beendet || echo Prozess nicht gefunden oder Beenden fehlgeschlagen
Die Ausgabe im Erfolgsfall:
C:\Users\user>taskkill /im test123.exe && echo Prozess beendet || echo Prozess nicht gefunden oder beenden fehlgeschlagen ERFOLGREICH: Ein Beendigungssignal wurde an den Prozess "test123.exe" mit der PID 4376 geschickt. Prozess beendet
Die Ausgabe bei Misserfolg:
C:\Users\user>taskkill /im test123.exe && echo Prozess beendet || echo Prozess nicht gefunden oder beenden fehlgeschlagen FEHLER: Der Prozess "test123.exe" wurde nicht gefunden. Prozess nicht gefunden oder Beenden fehlgeschlagen
Quellen:
stackoverflow – Killing a process in Batch and reporting on success