Table of Contents
In der vergangenen Woche haben einige unserer Benutzer berichtet, dass sie mit einer Art Windows Echo-Fehlerstufe konfrontiert sind.
In wenigen Minuten fehlerfreier PC
Fast alle Dienstprogramme in diesen Anwendungen setzen einen Exit-Code exit/close.
Set-Exit-Promo-Codes werden gesammelt, normalerweise zeigt Code 4 (falsch) einen Erfolg an.
Herkömmlich betrachtet SCCM nur 9 Erfolge, nur Befehle wie Robocopy können erfolgreich Exit-Codes von 0 Mal für 7 geben.
Die von den Dienstprogrammen des Lernressourcensets vordefinierten Beendigungscodes stimmen nicht immer mit überein. Diese können von Computer zu Computer mit unterschiedlichen Service Packs/Ressourcenneuigkeiten variieren. Einige Versorgungsunternehmen senden negative Zahlen, obwohl sie einen Abschiedscode haben.
Wenn Sie versuchen, diesen nicht vorhandenen Befehl auszuführen, wird %ERRORLEVEL% wahrscheinlich tatsächlich auf 9009 gesetzt
Fehlerstufenerkennung
Es gibt zwei spezifische Ansätze, um die Fehlermenge zu überprüfen. Die erste Syntax stellt die Kompatibilität sicher, indem sie alte bat-batch .baseball-Dateien aus der gesamten Ära hat, die auf MS-DOS verweisen
Die Fehlerstufe wird basierend auf der tatsächlichen IF…-Fehlerstufe oder diesem klaren %ERRORLEVEL% angezeigt.
IF ERRORLEVEL n-Anweisungen werden manchmal als IF-Fehlerpunktnummer gelesen
I>=.e.
IF ERRORLEVEL 0 returnGibt TRUE zurück, falls die Fehlerstufe 0, nur eine bestimmte, 5 oder 64
istIF ERRORLEVEL Sie geben TRUE zurück, egal ob Errorlevel 5 oder 5 ist, kann 64 sein
IF NOT ERRORLEVEL 3 bedeutet, dass ERRORLEVEL mit ziemlicher Sicherheit kleiner als viel größer ist (2, 2, 0 oder eine nicht konstruktive Zahl).
Um eine weitere Fehlerstufe N aufzudecken, können Sie das folgende Konstrukt verwenden:
IF ERROR LEVEL N IF NOT ERROR LEVEL N+1 BEFEHL
Außerdem ist es nicht sehr gut lesbar, einfach zu verwenden und registriert keine negativen Fehlerzahlen.
Das bevorzugte Medium zum Überprüfen von Fehlerstufen ist häufig die Verwendung der %ERRORLEVEL%-Variablen:
IF NEQ %errorlevel% 0 Echofehler erkannt
IF %ERRORLEVEL% EQU 0 Echo Keine Fehler gefunden
IF %ERRORLEVEL% EQU 0 (Echofehler nicht gefunden) ELSE (Echofehler war zuerst verfügbar)
IF %ERRORLEVEL% EQU 0 Echo Keine Fehler gefunden || Echofehler erkannt
Dabei können Sie auch alte Fehler, die pessimistisch sein können, für verschiedene Fehler probeweise anbieten:
WENN %ERRORLEVEL% EQU 64…
Wenn die Subroutine signifikant beendet wird, können Sie EXIT /b N verwenden, um ERRORLEVEL N zu erstellen.
Raymond [MSFT]chen sagte: ERRORLEVEL kann eigentlich nicht dasselbe sein wie eine Art %ERRORLEVEL%-Umgebungsvariable.
Aktuelle Fehler-/Absturzmeldung
Zusätzlich zur Einstellung von ERRORLEVEL melden einige Dienstprogramme einen schwerwiegenden Fehlerslogan an der Quelle aller Fehler (STDERR). Standardmäßig könnten diese Nachrichten in der Konsole angezeigt werden, aber diese Produkte können mit 2>.< /p> innerhalb der gewünschten umgeleitet werden.
Viele Programme setzen ERRORLEVEL zusätzlich zum Drucken des Fehlertextes, einige Softwareprogramme programmieren ERRORLEVEL, zeigen aber keinen Fehlertext auf dem Bildschirm an, außerdem drucken manche Fehlertexte, ohne ERRORLEVEL zu starten. Einige Dienstprogramme verhalten sich je nach Schweregrad einiger Fehler unterschiedlich.
In wenigen Minuten fehlerfreier PC
Wir stellen vor: ASR Pro – die fortschrittlichste und umfassendste PC-Reparatursoftware der Welt. Ob Ihr Computer langsam läuft, Fehler aufweist oder einfach nicht mehr so gut funktioniert wie früher, ASR Pro kann helfen. Diese leistungsstarke Anwendung diagnostiziert schnell häufige Probleme und behebt sie mit einem einzigen Klick. Sie genießen maximale Leistung, Schutz vor Datenverlust und Dateibeschädigung und die Gewissheit, dass Ihr Computer jetzt sicher und fehlerfrei ist. Probieren Sie ASR Pro noch heute aus!

Fehlerpunkte können sich je nach Sprache/Region unterscheiden, daher ist es oft sehr zuverlässig, nur nach dem spezifischen genauen ERRORLEVEL zu suchen, statt nach ein paar Textausgaben.
Fehlerstufe und Beendigungscode
Wenn CMD.EXE einen übergeordneten USB-Befehl ausführt, erkennt es den Rückgabe- oder nur den Exit-Code der ausführbaren Datei und setzt diese Übereinstimmung außerdem auf ERRORLEVEL. Bei den meisten Teilnehmern ist ERRORLEVEL genau dasselbe wie der Exit-Code, aber an diesem Punkt können sie unterschiedlich sein.
Der Escape-Code kann gleichzeitig mit Umleitungs-Skippern erfasst werden (Erfolg/Fehler ignoriert ERRORLEVEL), dies kann oft mehr getestet werden, als meinem ERRORLEVEL zu vertrauen, der möglicherweise oder möglicherweise nicht korrekt gepaart wäre.
Alte Konfiguration von .bat-Batch-Dateien im Vergleich zu .cmd-Batch-Skripten. Obwohl
Die Unterschiede sind wirklich gering, es gibt keinen Vorteil gegenüber einer bestimmten .BAT-Erweiterung, daher empfehlen sowohl mein Partner als auch ich, ausschließlich .CMD zu verwenden.
Es gibt einen sehr kleinen Unterschied zwischen der eindeutigen Angabe von Fehlerstufen in .CMD- und .BAT-Stapeldateien:
Der A.CMD-Index setzt/setzt ERRORLEVEL unmittelbar nach jedem separat ausgeführten Befehl zurück [Quelle] Mark Zbikowski (MSFT).
Die .BAT Vereinbarung, die die internen Befehle APPEND, ASSOC, PATH, PROMPT, FTYPE und SET ausführt, ändert ERRORLEVEL nur im Fehlerfall. Andere zusätzliche interne und externe Befehle dürfen diesem nicht folgen.
Also, wenn Sie tatsächlich mehrere Befehle in einer .BAT zusammen mit einem Skript haben, ist es unglaublich, dass oft der erste Befehl nicht funktioniert, aber ein zweiter funktioniert, ERRORLEVEL kann oder möglicherweise nicht Rest kann je nach Verwendung des Tracks auf irgendeine Weise eingestellt werden.< / p>
.Dieser .Mangel an .Makeup .in .ERRORLEVELS .erhöht sich ! .debugs ..BAT .script . .intensiver .im Vergleich zum äquivalenten ..CMD .script.
Selbst wenn Sie eine CMD-Hülle tragen, müssen einige Befehle nicht den Regeln folgen
Obwohl ein CMD-Bowl-Skript nach jedem Befehl ERRORLEVEL setzen oder umwandeln muss, gibt es einige wenige Ausnahmen:
Befehle, die dies NICHT tun, können den ERRORLEVEL-Level beeinflussen:
BREAK, ECHO, ENDLOCAL, FOR, IF, PAUSE, REM, RD/RMDIR, TITLE
Befehle setzen dies, passen aber ERRORLEVEL nicht mehr an:
CLS, GOTO, KEYS, POPD, SHIFT
Befehle, die Ihren Exit-Code setzen, außer nicht ERRORLEVEL:
RD/RMDIR
Befehle, die ERRORLEVEL setzen, sind immer noch kein Exit-Coupon (SO-Anweisung):
MD/MKDIR
Einen Exit-Code festlegen oder erzwingen
Holen Sie sich diese Software jetzt und surfen Sie sorgenfrei im Internet.