Was sind die ERRORLEVEL-Werte, die von internen cmd.exe Befehle?

Den ERRORLEVEL wird ein Wert zurückgegeben, der von den meisten cmd.exe Befehle, wenn Sie am Ende die, die sich ändern, abhängig von einer Reihe von Bedingungen, so wissen Sie den Wert, der die Befehle return ist eine wertvolle information, die hilft, um besser zu schreiben Batch-Dateien. Alle externen .exe-Programme ändern der ERRORLEVEL wenn Sie am Ende (das ist eine inhärente Mechanismus der beiden ExitProcess und TerminateProcess Win-32-API-Funktionen) und in der Regel solche Werte sind dokumentiert, aber die Werte, die von internen cmd.exe Befehle werden nicht vollständig dokumentiert anderswo.

Einer Tabelle mit teilweise ERRORLEVEL-Werte angezeigt, bei diese Frage, aber nur für interne Befehle, set ERRORLEVEL=0 "bei Erfolg". Ich schlug vor der OP so eine Frage, um es zu ändern, um so auch die Werte, die von "nicht erfolgreich" - Kommandos, aber er weigerte sich und forderte mich auf post meine eigenen Frage/Antwort, so ist es hier! Sie müssen jedoch beachten, dass ein ERRORLEVEL anders als null wird nicht unbedingt bedeutet, dass der Befehl fehlgeschlagen! Es gibt einige Befehle, die Ende mit keine Fehler und geben Sie einen Wert größer als null, um anzugeben verschiedene "exit-status", darunter interne Befehle (wie SET /P).

Besser zu nutzen, die gebaut-in cmd.exe Befehle in Batch an .bat-Dateien, die wir brauchen, um zu wissen, die ERRORLEVEL-Werte, die Sie zurückgeben, und der Mechanismen, die in diesem management. Die Frage ist also, welche interne cmd.exe Befehle set ERRORLEVEL zu beliebigen Wert (einschließlich der null)?

InformationsquelleAutor Aacini | 2016-01-25
Schreibe einen Kommentar