Lösch-Befehl mit Rückfrage für DOS

Ausnahmen bestätigen bekanntlich die Regel. Deshalb ist es häufig gar nicht so 100 prozentig sicher, ein Verzeichnis mit »DEL *.*« wirklich rigoros löschen zu wollen. Nach der bejahenden Antwort auf die DOS-Meldung »Sind Sie sicher?«, ist für das Betriebssystem der Fall erledigt – sämtliche Dateien sind gelöscht. Wenn Sie nicht ganz sicher sind, ob sich nicht vielleicht doch dieses oder jenes unverzichtbare Programm in der Löschliste befindet, sollten Sie statt des DEL-Befehls unser Programm XDEL.DEB verwenden. Es ermittelt mit Hilfe der DOS-Funktionen »Find First File« und »Find Next File« die zum Übergabeparameter passenden Dateien und zeigt jeweils den Dateinamen an, gefolgt von der Frage »J/N«? Geben Sie »J« ein, wird die betreffende Datei gelöscht – auch wenn sie schreibgeschützt ist – ansonsten nicht. Im Unterschied zum DEL-Befehl können Sie jedoch zu löschende Verzeichnisse ohne nähere Dateispezifikationen nicht angeben. »XDEL \DOS« funktioniert also nicht, wohl aber »XDEL \DOS\*.*«.

Name: XDEL.DEB
Funktion: Löscht Dateien nach vorheriger Rückfrage.
Übersetzung: DEBUG <XDEL.DEB
Prüfsumme: 6837
Anwendung: XDEL Datei(en)
Einschränkungen: ./.
A
CLD                 ;100
MOV SI,82           ;101
MOV DI,1BB          ;104
CMP By[80],2        ;107
JB 136              ;10C
MOV BX,DI           ;10E
LODSB               ;110
CMP AL,61           ;111
JB 11B              ;113
CMP AL,7A           ;115
JA 11B              ;117
SUB AL,20           ;119
STOSB               ;11B
CMP AL,5C           ;11C
JZ 10E              ;11E
CMP AL,3A           ;120
JZ 10E              ;122 
CMP AL,D            ;124
JNZ 110             ;126
MOV By[SI-1],0      ;128
MOV DX,82           ;12C
MOV CX,27           ;12F
MOV AH,4E           ;132
INT 21              ;134
JB 196              ;136
MOV DI,BX           ;138
MOV SI,9E           ;13A
MOV CX,E            ;13D
REPZ MOVSB          ;140
MOV SI,1BB          ;142
CALL 191            ;145
MOV SI,19B          ;148
CALL 191            ;14B
MOV SI,1AC          ;14E
MOV AX,C08          ;151
INT 21              ;154
OR AL,20            ;156
CMP AL,6E           ;158
JZ 178              ;15A
CMP AL,6A           ;15C
JNZ 151             ;15E
MOV DX,1BB          ;160
XOR CX,CX           ;163
MOV AX,4301         ;165
INT 21              ;168
MOV SI,1AF          ;16A
JB 178              ;16D
MOV AH,41           ;16F
INT 21              ;171
JB 178              ;173
MOV SI,1A4          ;175
MOV CX,7            ;178
MOV DX,197          ;17B
MOV AH,9            ;17E
INT 21              ;180
LOOP 17B            ;182
CALL 191            ;184
MOV AH,4F           ;187
JMP 134             ;189
MOV DL,AL           ;18B
MOV AH,2            ;18D
INT 21              ;18F
LODSB               ;191
CMP AL,0            ;192
JNZ 18B             ;194
RET                 ;196
DB 8,20,8,"$ (J/N)? ",0
DB "gelöscht",D,A,0
DB ": Fehler!",D,A,0

RCX
BB
NXDEL.COM
W
Q

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