Viele unserer Tips und Tricks liefern einen Errorlevel als Ergebnis. Um ihn auswerten zu können, ist deshalb mindestens ein Stapeljob erforderlich, der je nach Ergebnis eine Entscheidung trifft (IF ERRORLEVEL…). Zu Testzwecken ist es jedoch häufig praktischer, den Errorlevel direkt auf den Bildschirm auszugeben. ERRORLVL.DEB zeigt den Errorlevel des zuletzt ausgeführten Programms im Bereich 0 bis 255 an. In Klammern folgt der einstellige Beendigungscode, der darüber Auskunft gibt, ob ein Programm normal beendet (0), oder mit der Break-Taste abgebrochen wurde (1). Außerdem erfahren Sie, ob das Programm resident bleibt (2), oder wegen eines kritischen Fehlers beendet (3). ERRORLVL durchsucht den Kommando-Interpreter COMMAND.COM nach einer bestimmten Befehlsfolge, aus der die Speicheradresse des ERRORLEVELs hervorgeht. Weil unter DOS keine Möglichkeit vorgesehen ist, den ERRORLEVEL in einem Programm abzufragen, gibt es leider keine Garantie, ob ERRORLVL unter jeder DOS-Version auch wirklich funktioniert.
Name: | ERRORLVL.DEB |
Funktion: | Gibt den aktuellen Errorlevel mit Beendigungscode aus. |
Übersetzung: | DEBUG <ERRORLVL.DEB |
Prüfsumme: | F3E2 |
Anwendung: | ERRORLVL |
Einschränkungen: | ./. |
A MOV ES,[C] ;100 MOV DI,100 ;104 MOV CX,4000 ;107 MOV AL,B4 ;10A REPNZ SCASB ;10C JNZ 149 ;10E ES:CMP Wo[DI],CD4D ;110 JNZ 10C ;115 ES:CMP Wo[DI+2],2E21;117 JNZ 10C ;11D ES:MOV SI,[DI+5] ;11F ES:MOV AX,[SI] ;123 ADD [14C],AH ;126 CALL 134 ;12A MOV DX,14A ;12D MOV AH,9 ;130 JMP 147 ;132 AAM ;134 PUSH AX ;136 CMP AH,0 ;137 JZ 141 ;13A MOV AL,AH ;13C CALL 134 ;13E POP DX ;141 ADD DL,30 ;142 MOV AH,2 ;145 INT 21 ;147 RET ;149 DB " (0)$" RCX 4F NERRORLVL.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot