Leeres Verzeichnis in DOS ermitteln

Oft ist es wichtig, festzustellen zu können, ob ein bestimmtes Verzeichnis leer ist. Löschanweisungen, die versteckte Dateien »vergessen« und anschließend ein »RD Verzeichnis« ausführen sollen, könnten z. B. vor dem unvermeidlichen Fehler »Ungültiger Suchweg, kein Verzeichnis oder Verzeichnis nicht leer!« alternative Aktionen durchführen. Kopieranweisungen können rechtzeitig vor noch gefüllten Directories warnen, damit eventuell gleichnamige Programme nicht überschrieben werden und so weiter. ISDIR.DEB durchsucht das als Parameter übergebene Verzeichnis nach allen möglichen Dateien und Unterverzeichnissen. Existiert irgendetwas außer » . « und » .. «, setzt es den Errorlevel auf 255. Das Programm stellt außerdem fest, ob das zu überprüfende Verzeichnis überhaupt existiert.

Name: ISEMPTY.DEB
Funktion: Überprüft, ob ein bestimmtes Verzeichnis leer ist.
Übersetzung: DEBUG <ISEMPTY.DEB
Prüfsumme: 4592
Anwendung: ISEMPTY [Lw:]VerzeichnisIF ERRORLEVEL # # = 255: Verzeichnis ist nicht leer # = 3: Verzeichnis nicht gefunden # = 0: Verzeichnis ist leer

andere Werte: sonstige DOS-Fehler (siehe Anhang)

Einschränkungen: ./.
A
MOV BX,[80]         ;100
CMP By[BX+E080],5C  ;104
JZ 111              ;109
MOV By[BX+E081],5C  ;10B
INC BX              ;110
MOV Wo[BX+E081],2E2A;111
MOV Wo[BX+E083],2A  ;117
MOV DX,82           ;11D
MOV CX,3F           ;120
MOV AH,4E           ;123
INT 21              ;125
JB 134              ;127
CMP By[9E],2E       ;129
MOV AH,4F           ;12E
JZ 125              ;130
MOV AL,FF           ;132
CMP AL,12           ;134
JNZ 13A             ;136
MOV AL,0            ;138
MOV AH,4C           ;13A
INT 21              ;13C

RCX
3E
NISEMPTY.COM
W
Q

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