Was ist der schnellste Weg, um einen großen Ordner in Windows zu löschen?

224

Ich möchte einen Ordner löschen, der Tausende von Dateien und Ordnern enthält. Wenn ich den Ordner mit Windows Explorer lösche, kann dies 10 bis 15 Minuten dauern (nicht immer, aber häufig). Gibt es in Windows eine schnellere Möglichkeit, Ordner zu löschen?

Andere Details:

  • Der Papierkorb ist mir egal.
  • Es ist ein NTFS-Laufwerk.
BrezzaP
quelle
1
Auch hier bei Super User gefragt: superuser.com/questions/19762/mass-deleting-files-in-windows/…
Hugo
1
Vielleicht ist rm -rf in Cygwin schneller, und vielleicht ist eine Linux-Live-CD rm -rf noch schneller.
Barlop
Verwenden Sie cygwin ls DIRECTORY> list_files und führen Sie eine Iteration über die list_files durch und verwenden Sie rm -rf (Umgang mit einem 1 TB großen
Dateipool
Leute, ich bin mir nicht sicher, ob dies die gleiche Erfahrung ist, die alle anderen gemacht haben ... aber wenn ich einen großen Ordner lösche und ihn dann abbrich, während er gelöscht wird, ist der Ordner weg und der Papierkorb ist leer. Ich bin mir nicht sicher, warum das funktioniert, aber es funktioniert für mich.
Ladieu

Antworten:

333

Verwenden Sie die Windows-Eingabeaufforderung:

rmdir /s /q folder
Stephen Denne
quelle
22
Übrigens können Sie auch rd / q / s <Ordnername> verwenden. Dies ist zwar schneller als die grafische Darstellung im Windows Explorer, wird aber noch lange dauern - MS verwendet einen 'Schlemeil the Painter'-Algorithmus (Joelonsoftware). com / articles / fog0000000319.html) wann immer ein dir oder del gemacht wird
warren
37
Der Ordner rm -rf funktioniert wunderbar schnell, wenn Sie Cygwin installiert haben.
Sinan Ünür
45
Früher habe ich dies verwendet, aber ich habe eine Kombination aus del + rmdir gefunden, die fast dreimal schneller ist als normales rmdir. Siehe meine Antwort: stackoverflow.com/questions/186737/…
Hugo
2
Sinans Vorschlag ist der schnellste. Installieren Sie cygwin.com und verwenden Sie dann rm -rfv Ordnername an der Eingabeaufforderung von cygwin.
Lonnie Best
1
+1 auf Cygwin, das eine Verknüpfung zur Struktur aufhebt, etwas schneller als Windows Tools, allerdings nicht so sicher.
Tracker1
975

Der schlechteste Weg ist, an den Papierkorb zu senden: Sie müssen sie noch löschen. Das nächst schlimmste ist Shift + Delete mit Windows Explorer: Es verschwendet viel Zeit damit, den Inhalt zu überprüfen, bevor mit dem Löschen begonnen wird.

Das nächstbeste ist die Verwendung rmdir /s/q foldernameüber die Befehlszeile. del /f/s/q foldernameist auch gut, aber es hinterlässt die Verzeichnisstruktur.

Das Beste, was ich gefunden habe, ist eine zweizeilige Batch-Datei mit einem ersten Durchgang zum Löschen von Dateien und Ausgaben an nul, um den Aufwand für das Schreiben auf den Bildschirm für jede einzelne Datei zu vermeiden. Ein zweiter Durchgang bereinigt dann die verbleibende Verzeichnisstruktur:

del /f/s/q foldername > nul
rmdir /s/q foldername

Dies ist fast dreimal schneller als ein einzelnes rmdir, basierend auf Zeittests mit einer Windows XP-verschlüsselten Festplatte, bei denen ~ 30 GB / 1.000.000 Dateien / 15.000 Ordner gelöscht werden: rmdirdauert ~ 2,5 Stunden, del+rmdirdauert ~ 53 Minuten. Weitere Infos unter Super User .

Dies ist eine reguläre Aufgabe für mich, daher verschiebe ich normalerweise das zu löschende Material nach C: \ stufftodelete und habe diese del+rmdirBefehle in einer Batchdatei deletestuff.bat. Dies soll nachts laufen, aber manchmal muss ich es tagsüber laufen lassen, je schneller desto besser.

Die Technet-Dokumentation für den delBefehl finden Sie hier . Zusätzliche Informationen zu den oben verwendeten Parametern:

  • /f - Erzwingen (dh Dateien löschen, auch wenn sie schreibgeschützt sind)
  • /s- Rekursive / Include-Unterordner (diese Definition von SS64 , da technet einfach "angegebene Dateien" angibt, was nicht hilfreich ist).
  • /q - Leise (dh Benutzer nicht zur Bestätigung auffordern)

Dokumentation für rmdir hier . Parameter sind:

  • /s - Rekursiv (dh wie der Parameter von del / s)
  • /q - Leise (dh wie der Parameter del's / q)
Hugo
quelle
1
Ich habe dies heute versucht (zugegebenermaßen mit einem kleineren Datensatz) und das gegenteilige Ergebnis erzielt: Die Verwendung von nur rmdir war 30% schneller (3:17) als die Verwendung von del und dann von rmdir (2:15).
Harry Johnston
6
Ich musste "Als Administrator ausführen", damit dies funktioniert, abhängig vom Laufwerk.
Eyal
1
Wie wäre es mit Cygwin. Ich weiß, es ist eine Schicht über Windows, aber kann uns die Linux-Welt helfen, besser zu dienen?
Sarat
1
Das hat bei mir super funktioniert. Unter Windows 7 wurden ungefähr 16 GB gelöscht, ein paar hunderttausend Dateien in Sekunden. Das Betriebssystem hing eine Weile daran, bevor ich aufgab und hier suchte.
Engineero
4
Als ausgezeichnete und elegante Lösung kann ich vorschlagen, dass wir den Befehl mithilfe des kaufmännischen Und der Befehlsshell optimieren: Befehle nacheinander ausführen: del /f/s/q foldername > nul & rmdir /s/q foldername oder Befehle nacheinander ausführen, wenn der erste Befehl erfolgreich ist. del /f/s/q foldername > nul && rmdir /s/q foldername
GBGOLC
6

Verwenden Sie Fastcopy , ein kostenloses Tool. Es gibt eine Löschoption, die viel schneller ist als die Art und Weise, wie Windows Dateien löscht.

Stephen Denne
quelle
1
Ich habe FastCopy ausprobiert. Ich bin mir nicht sicher, ob es schneller als Windows ist. Ich habe nur 92 Dateien / Sekunde gelöscht bekommen. Wenn man bedenkt, dass ich es aufgegeben habe, die Anzahl der Dateien bei über 250 KB zu zählen, werde ich für immer brauchen, um sie zu verwenden. Na ja. Jede Datei ist nur wie 20 Bytes. Verdammte PHP-Sitzungsdateien.
Chrispix
1
Probieren Sie das kostenlose Open Source-Tool RapidDeletePro aus: github.com/mhisoft/RapidDeletePro
Tony
3

Verwenden Sie die Eingabeaufforderung wie vorgeschlagen. Ich habe vor einiger Zeit herausgefunden, warum der Explorer so langsam ist. Er gibt Ihnen eine Schätzung, wie lange das Löschen der Dateien / Ordner dauern wird. Dazu muss die Anzahl der Elemente und die Größe gescannt werden. Dies dauert ewig, daher das lächerliche Warten mit großen Ordnern.

Außerdem wird der Explorer angehalten, wenn ein bestimmtes Problem mit einer Datei vorliegt.

nicodemus13
quelle
3

Um viele Ordner zu löschen, können Sie auch eine Batchdatei mit dem Befehl spdenne erstellt erstellen.

1) Erstellen Sie eine Textdatei mit folgendem Inhalt, wobei Sie die Ordnernamen in Anführungszeichen durch Ihre Ordnernamen ersetzen:

rmdir /s /q "My Apps"  
rmdir /s /q "My Documents"  
rmdir /s /q "My Pictures"  
rmdir /s /q "My Work Files"

2) Speichern Sie die Batch-Datei mit der Erweiterung .bat (z. B. deletefiles.bat).
3) Öffnen Sie eine Eingabeaufforderung (Start> Ausführen> Cmd) und führen Sie die Batch-Datei aus. Sie können dies wie folgt an der Eingabeaufforderung tun (indem Sie Ihren Laufwerksbuchstaben durch X ersetzen):

X:  
deletefiles.bat
xyz
quelle
2
Ja, ich habe eine ähnliche Batch-Datei, aber eine Kombination aus del + rmdir am schnellsten gefunden: stackoverflow.com/questions/186737/…
Hugo
-1

Versuchen Sie Shift+ Delete. Habe 24.000 Dateien in 2 Minuten für mich gemacht.

Jeroen
quelle
13
Siehe oben - vermeidet den Papierkorb, ist aber immer noch viel langsamer als die Befehlszeile.
andig
1
Diese Methode löscht Dateien direkt, anstatt sie in den Papierkorb zu verschieben. Der Explorer versucht jedoch weiterhin, alle Dateien zu zählen, um eine Schätzung zu erhalten.
Dies
Was war die durchschnittliche Dateigröße?
your_boy_gorja
@your_boy_gorja Das Problem ist nicht die durchschnittliche Dateigröße, sondern die Anzahl der Dateien in einem Ordner. Wenn Sie durch Explorer löschen, muss der Explorer alle Dateien lesen, um die Größe zu erhalten und eine Schätzung
vorzunehmen
@uceumern ja diese Zählsache, die es tut, ist lächerlich mit einem Ordner mit vielen, vielen Dateien (~ 40 GB mit 1m + Dateien)
Brian Leishman