Das Aufräumen von Festplatten oder Disketten kann schnell in Streß ausarten, wenn Sie z. B. Directories löschen wollen, die eine ganze Reihe von anderen Unterverzeichnissen beinhalten. Die Eingabe von »RD Verzeichnis« (Remove Directory) endet häufig mit der Fehlermeldung »Ungültiger Suchweg, kein Verzeichnis oder Verzeichnis nicht leer!«. DELDIR.DEB löscht nach Beantwortung einer Sicherheitsfrage sämtliche Dateien eines Unterverzeichnisses. Sind weitere Subdirectories vorhanden, löscht DELDIR auch deren Inhalt und entfernt sie. Das Vorankommen des Löschvorgangs können Sie auf dem Bildschirm verfolgen. Das Programm sichert zunächst den aktuellen Laufwerksbuchstaben und das momentane Verzeichnis, um anschließend in das als Parameter übergebene Verzeichnis zu wechseln und dort mit der rekursiven Löschprozedur zu beginnen:
Zuerst werden sämtliche Dateien über eine »FCB«-funktion gelöscht. Danach bearbeitet DELDIR wie bereits erwähnt mögliche Unterverzeichnisse. Zum Schluß bleibt das angegebene Verzeichnis übrig, das nun komplett leer ist und mit »RD« gelöscht werden kann. Vorsicht! DELDIR ist extrem gefährlich! Es löscht nach der Beantwortung einer einzigen Rückfrage rigoros ein komplettes Verzeichnis – auch versteckte oder »Read Only«-Dateien! Die Eingabe »DELDIR C:\« bedeutet z. B. bei versehentlichem Bejahen der Sicherheitsabfrage mit »J« den sicheren Festplattentod!
Name: | DELDIR.DEB |
Funktion: | Löscht alle Dateien und Unterverzeichnisse eines gewünschten Verzeichnisses. |
Übersetzung: | DEBUG <DELDIR.DEB |
Prüfsumme: | 85F4 |
Anwendung: | DELDIR Verzeichnis |
Einschränkungen: | Vorsicht! »DELDIR C:\« löscht nach »J« rigoros die gesamte Festplatte! |
A MOV AH,19 ;100 INT 21 ;102 XCHG AL,[5C] ;104 MOV DL,AL ;108 DEC DL ;10A JS 114 ;10C MOV AH,E ;10E INT 21 ;110 JB 16C ;112 MOV SI,234 ;114 MOV By[SI-1],5C ;117 MOV DL,0 ;11B MOV AH,47 ;11D INT 21 ;11F JB 16C ;121 MOV BX,[80] ;123 MOV By[BX+E081],0 ;127 MOV DX,82 ;12C MOV AH,3B ;12F INT 21 ;131 JB 165 ;133 MOV DX,1E7 ;135 CALL 177 ;138 MOV AX,C07 ;13B INT 21 ;13E OR AL,20 ;140 CMP AL,6A ;142 MOV CX,6 ;144 MOV DX,203 ;147 CALL 177 ;14A LOOP 147 ;14D MOV AX,C00 ;14F INT 21 ;152 MOV Wo[175],1BD ;154 JNZ 165 ;15A CALL 17C ;15C MOV Wo[175],1B9 ;15F MOV DX,233 ;165 MOV AH,3B ;168 INT 21 ;16A MOV DL,[5C] ;16C MOV AH,E ;170 INT 21 ;172 MOV DX,1C9 ;174 MOV AH,9 ;177 INT 21 ;179 RET ;17B MOV DL,2E ;17C MOV AH,2 ;17E INT 21 ;180 MOV DX,207 ;182 MOV AH,13 ;185 INT 21 ;187 MOV DX,1FF ;189 MOV CX,37 ;18C MOV AH,4E ;18F INT 21 ;191 JB 17B ;193 MOV AH,4F ;195 CMP By[9E],2E ;197 JZ 191 ;19C MOV DX,9E ;19E MOV AH,3A ;1A1 INT 21 ;1A3 JNB 189 ;1A5 MOV AH,3B ;1A7 INT 21 ;1A9 JB 17B ;1AB CALL 17C ;1AD MOV DX,1E4 ;1B0 MOV AH,3B ;1B3 INT 21 ;1B5 JMP 189 ;1B7 DB " Ok$Abgebrochen$" DB "Verzeichnis nicht " DB "gefunden$..",0 DB "Sind Sie sicher? " DB "(J/N) $*.*",0,8,20 DW 2408,FF,0,0,2F DB "????????","???" RCX 11A NDELDIR.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot