DEL (Kommandozeilenbefehl)
DEL oder ERASE ist ein Kommandozeilenbefehl zum Löschen einzelner oder auch mehrerer Dateien. Er entspricht weitestgehend dem Kommando rm unter Unix.
Der Befehl geht noch auf CP/M zurück, hieß dort aber ERA
. Unter 86-DOS wurde dieser Befehl zu ERASE
verlängert, mit PC-DOS 1.1 schließlich der Alias DEL
eingeführt, der sich letztendlich gegenüber ERASE
durchsetzte. DR DOS behielt zur besseren Kompatibität mit CP/M den Befehl ERA
als Alias für DEL
.
Da der Befehl DEL ähnlich wie rm unter Unix standardmäßig keine Sicherheitsabfrage vor dem Löschen ausgibt, können durch Schreibfehler allzu leicht wichtige Systemdateien gelöscht werden. Hierzu wurde schon zu MS-DOS-Zeiten der Parameter /P
eingeführt, der vor Löschen der Datei (bzw. vor Löschen jeder einzelnen Datei bei Verwendung mit Wildcards) eine Sicherheitsabfrage ausgibt. Soll mit DEL *.*
(also sämtliche Dateien im aktuellen Verzeichnis) gelöscht werden, erscheint immer eine Sicherheitsabfrage. Unter Windows NT kann dies mit dem Parameter /Q
unterbunden werden.
Erst mit Windows NT wurde der Funktionsumfang von DEL wesentlich erweitert, so ist seitdem eine rekursive Löschung von Dateien in einem Verzeichnisbaum möglich (Parameter /S
) und es kann nach Dateiattributen gefiltert werden (Parameter /A
). Mit /F
kann zudem die Löschung von schreibgeschützten Dateien erzwungen werden (unter MS-DOS musste hierfür erst das Attribut Schreibschutz entfernt werden).
Unter Windows NT hat der Befehl DEL eine gewisse Bedeutung erlangt, weil mit diesem Befehl auch solche Dateien gelöscht werden können, die im Windows-Explorer nicht gelöscht werden können, entweder weil der vollständige Pfad einschließlich Dateiname länger als 255 Zeichen ist oder weil der Dateiname ein unter Windows NT reservierter Begriff (z. B. CON
, PRN
oder NUL
) ist.