Parameter in DOS auswerten 2

PCOMP.DEB vergleicht die Textausgabe eines Programms mit dem als Parameter angegebenen Text. Der Filter prüft, ob die empfangenen Zeichen mit dem Parameter übereinstimmen und setzt den Errrolevel auf 1, falls der Vergleich nicht stimmt. Ansonsten bleibt der Errrolevel 0 übrig. PCOMP erwartet zum Zeitpunkt des Aufrufes, daß die zu empfangenden Zeichen bereits da sind. Übersteigt die Anzahl der empfangen Zeichen die des Vergleichstextes, wird der Rest einfach ignoriert. Mit »CD | PCOMP C:\WORD« können Sie z.B. ganz einfach überprüfen, ob Sie sich gerade im Verzeichnis C:\WORD befinden. Weil PCOMP aber den Rest der Ausgabe durch »CD« ignoriert, liefert diese Abfrage auch im Verzeichnis C:\WORD\TEXTE den Errorlevel 0. Dem können Sie aber leicht mit dem Filter PCOMPCR abhelfen. Wenn Sie nicht sicher sind, welche Zeichenfolge die richtige ist, verwenden Sie einfach das Fragezeichen als »Wildcard«. Probieren Sie folgenden Stapeljob aus:

@ECHO OFF
CD | PCOMP A:\T?P
IF ERRORLEVEL 1 GOTO FALSCH
:RICHTIG
ECHO Entweder sind Sie im Verzeichnis
ECHO A:\TIP oder A:\TOP...
GOTO ENDE
:FALSCH
ECHO Sie sind weder im Verzeichnis
ECHO A:\TIP noch A:\TOP...
:ENDE
Name: PCOMP.DEB
Funktion: Vergleicht empfangene Zeichen mit einem Parameter.
Übersetzung: DEBUG <PCOMP.DEB
Prüfsumme: B07B
Anwendung: z.B. CD | PCOMP … oder PCOMP …<DateiIF ERRORLEVEL # … = Zeichenkette (? als Wildcard erlaubt) # = 1: Der Anfang des Textes stimmt nicht mit der Zeichenkette überein # = 0: Der Anfang des Textes stimmt mit der Zeichenkette

überein

Einschränkungen: Für jedes Fragezeichen muß im Unterschied zum DIR-Befehl genau 1 Zeichen kommen. Es kann nur der Anfang

des Textes verglichen werden.

A
CLD                 ;100
MOV DI,82           ;101
MOV AX,4C00         ;104
CMP By[DI],D        ;107
JZ 11A              ;10A
MOV DL,FF           ;10C
MOV AH,6            ;10E
INT 21              ;110
JZ 117              ;112
SCASB               ;114
JZ 104              ;115
MOV AX,4C01         ;117
INT 21              ;11A

RCX
1C
NPCOMP.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot