errorlevel

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
969
Hi,

würde folgendes Script funktionieren?

chkdsk c:
if errorlevel 1 goto error
goto ende
:error
Die Überprüfung hat wahrscheinlich Fehler ergeben!
pause
:ende

Das Problem ist, dass weder im Netz noch mit errorlevel /? was gefunden habe..

Hoffe auf clarification..

P.S. kann ich mit Errorlevel auch überprüfen ob andere Programm wie acronis einen Job beendet haben? Danke..
 
Zuletzt bearbeitet:
Wenn %errorlevel% >= 1 ist funktioniert es (ohne die Rückgabe von chkdsk zu kennen).
 
Hi Yuri,

wie genau meinst du das - woher weist du das ohne die Rückgaben zu kennen? Und wozu >= ich meine 1,01 wird er ja wohl nicht zurückgeben oder :D
 
if errorlevel überprüft nun mal auf größer gleich, weshalb du bei errorlevel-Prüfungen stets absteigend prüfen musst:
Code:
if errorlevel 3 goto :error3
if errorlevel 2 goto :error2
if errorlevel 1 goto :error1
goto :end

:error3
echo Fehler 3
goto :end


:error2
echo Fehler 2
goto :end


:error1
echo Fehler 1
goto :end


:end
echo Ende
Die Ausgabe sollte hierbei theoretisch Fehler 3 und Ende sein. Ein
Code:
if errorlevel 1 goto :error1
if errorlevel 2 goto :error2
if errorlevel 3 goto :error3
sollte als Ausgabe Fehler 1 und Ende haben, obwohl errorlevel = 3 ist. Deswegen prüft if errorlevel x auf errorlevel >= x.

Sollte aber auch in if /? stehen. Die Rückgabewerte von chkdsk bekommst du übrigens auch über chkdsk /?, ggf. einfach per | findstr /i "suchstring" filtern (je nach Vorkommen unterschiedliche Rückgabewerte). Natürlich nur, falls es bei Problemen eine einheitliche Ausgabe gibt.
 
einen Errorlevel geben idR. diese nur an das Konsolenprogramm zurück.

Chkdsk hat eine Unterfunktion, Chkntfs.
 
Hi Danke euch für die Hilfe ich habe das jetzt für mich insofern klären können, dass

if errorlevel 1

so funktionienren würde. Mir sind aber beim "herausfinden" weitere fragen gekommen, die ich jetzt aber in einen neuen Thread packe...
Ergänzung ()

yuuri: danke für das spitzenmäßige Beispiel - das hat einen PUnkt schon mal sehr gut verdeutlicht...
 
Zurück
Oben