Ist das Verzeichnis vorhanden?

Analog zu »IF EXIST Datei« gibt es bisher keine Möglichkeit, festzustellen, ob ein bestimmtes Verzeichnis existiert. Kopier-Anweisungen in Stapeljobs landen z. B. oftmals in falschen Verzeichnissen und überschreiben gleichnamige Dateien, weil der Anwender sich nicht haargenau so verhalten hat, wie es die Batch-Datei vorschreibt. ISDIR.DEB hilft, solche Fehler zu vermeiden. Das Programm speichert das aktuelle Verzeichnis des angegebenen Laufwerks vorübergehend ab und versucht anschließend per »CD« in das zu überprüfende Verzeichnis zu wechseln. Danach stellt ISDIR das ursprüngliche Directory wieder her und übergibt das Ergebnis im Errorlevel. Das zu verifizierende Verzeichnis übergeben Sie analog zum CD-Befehl als Parameter. »ISDIR D:.« oder »ISDIR D:\« kann sogar feststellen, ob das Laufwerk D überhaupt existiert.

Name: ISDIR.DEB
Funktion: Überprüft, ob ein bestimmtes Verzeichnis existiert.
Übersetzung: DEBUG <ISDIR.DEB
Prüfsumme: FB21
Anwendung: ISDIR [Lw:]VerzeichnisIF ERRORLEVEL # # = 255: Laufwerk existiert nicht # = 3: Verzeichnis existiert nicht # = 0: Verzeichnis existiert

andere Werte: sonstige DOS-Fehler (siehe Anhang $$$$$)

Einschränkungen: ./.
A
CMP AL,FF           ;100
JZ 13D              ;102
MOV BX,[80]         ;104
MOV By[BX+E081],0   ;108
MOV DL,[5C]         ;10D
CMP DL,0            ;111
JA 11E              ;114
MOV AH,19           ;116
INT 21              ;118
MOV DL,AL           ;11A
INC DL              ;11C
MOV SI,145          ;11E
ADD [SI-3],DL       ;121
MOV AH,47           ;124
INT 21              ;126
MOV DX,82           ;128
MOV AH,3B           ;12B
INT 21              ;12D
JB 133              ;12F
MOV AL,0            ;131
MOV [13E],AL        ;133
MOV DX,142          ;136
MOV AH,3B           ;139
INT 21              ;13B
MOV AX,4CFF         ;13D
INT 21              ;140
DB "@:\"

RCX
45
NISDIR.COM
W
Q

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