Ich hatte einen Benutzer mit mehr als 100.000 Dateien in einem einzigen Verzeichnis. Der Computer blockiert und wird für eine lange Zeit unbrauchbar, während der Explorer den Speicher ausfüllt und der Computer abstürzen kann. Gibt es eine einfache Möglichkeit, das Verzeichnis und den Inhalt zu sichern? Wir haben versucht, den Befehlszeilen-Deltree zu verwenden, und dies hat nicht viel besser funktioniert.
DaveF
Extra -
Wir hatten dieses Problem mehrmals mit demselben Benutzer (tatsächlich Client). Ein Programm erstellt während seiner Ausführung Hunderttausende von temporären Dateien. Wenn das Programm korrekt funktioniert, spielt es keine Rolle, da sie langsamer entfernt werden, wenn es damit fertig ist. Aber hin und wieder stirbt es und hinterlässt das Durcheinander von Dateien. Wir haben versucht, die Methoden rmdir und del etc zu verwenden, und sie sind schneller als die Verwendung des Explorers, aber wir haben im Allgemeinen die gleichen Probleme. Die Partition wird beschädigt, es gibt eine unerklärliche gesperrte Datei, einige Dateien haben ein Berechtigungsproblem, das das Löschen verhindert. Normalerweise kann dieses Problem durch einen Neustart behoben werden. In diesem Fall handelt es sich jedoch um ein kritisches System, das in der Produktionszeit nicht verfügbar ist. Unter Unix können Sie einfach ein rm -rf usw. ausführen. Dies ist schnell und es gibt im Allgemeinen kein wirkliches Problem damit.
Übrigens - die Anwendung wird geändert, aber diese wird für einige Zeit nicht in Produktion gehen, und ich dachte, dieses Problem war wahrscheinlich für andere interessant.
Update - da wir MKS Nutcracker auf dem System haben (ohne die Befehlszeilen-Dienstprogramme), haben wir den Programmierer dazu gebracht, ein einfaches rm zusammenzuschlagen. Dies ist mehrere Bestellungen schneller als del / deltree usw. Ich finde es seltsam, dass es keine so einfache App gibt, die als Standard-Windows-Systemadministrationstool verfügbar ist.
quelle
Antworten:
Sie könnten verwenden
rmdir
:Flags:
/s
bedeutet rekursiv löschen,/q
ist der "leise" Modus.quelle
Ich habe dieses Problem mit Servern, die ich verwaltet habe. Überspringen Sie den Explorer insgesamt und verwenden Sie die Eingabeaufforderung. Navigieren Sie zu dem Ordner und „del . “
Auf diese Weise vermeiden Sie den Overhead der GUI (Explorer ist Papierkorb) und des Papierkorbs.
quelle
Versuchen Sie, die Leistung zu steigern, indem Sie die Generierung kurzer Dateinamen deaktivieren, es sei denn, Sie benötigen dies für ältere 16-Bit-Anwendungen. Dies kann erhebliche Auswirkungen auf Verzeichnisvorgänge mit einer großen Anzahl von Dateien haben.
Dann benutze:
RMDIR / S / Q [Laufwerk:] Pfad
um das Verzeichnis mit all seinen Dateien zu entfernen.
quelle
Wie wäre es, diesen temporären Ordner auf ein anderes Laufwerk / eine andere Partition zu verschieben? Anstatt den gesamten Müll zu löschen, können Sie das Laufwerk formatieren (entweder GUI oder Befehlszeile). Mit dem schnellen Format sollte dies relativ schnell sein.
quelle
Dies ist eine Kombination der vorherigen Beiträge
Öffnen Sie ein Befehlsfenster:
File -> Run -> cmd
Entfernen Sie das Verzeichnis
rmdir /s /q FOLDERNAME
ODER
Entfernen Sie ein Dateimuster
cd \....\directory
del *.[something]
Wie Sie in Ihrer Frage bemerkt haben, kann Windows Explorer die Dinge wirklich verlangsamen.
Nachdem ich Ihr Update gesehen habe, habe ich einen eigenen.
Überprüfen Sie diese Liste der Dateientferner
quelle
Ich habe nichts Besseres als del und rm, aber selbst wenn sie sehr lange dauern, sollte es nicht zu Partitionsschäden führen. Die gesperrten Dateien können daran liegen, dass das Programm, das sie erstellt hat, unerwartet gestorben ist.
Obwohl die Dateien nicht gelöscht werden können, können sie manchmal in ein anderes temporäres Unterverzeichnis verschoben werden. Ich erstelle einfach ein _todel-Unterverzeichnis und verschiebe sie dorthin. Normalerweise funktioniert es besser, wenn ich das gesamte Verzeichnis um eine Ebene nach oben verschiebe, anstatt die Dateien selbst.
Abgesehen davon besteht die einzige Möglichkeit, das Löschen zu beschleunigen, darin, die Festplatte zu defragmentieren. Eine vorübergehende Problemumgehung kann darin bestehen, dieses Verzeichnis auf eine Samba-Freigabe zu verschieben oder eine NTFS-Verbindung auf eine tragbare USB-Festplatte zu verwenden. (Eine kleine Partition wäre besser und schneller als die Verwendung der gesamten Festplatte). Sie können dann einfach die Festplatte auswerfen und ein schnelles Format auf einem anderen PC ausführen.
quelle
Eine beschädigte Partition beim Löschen von Dateien? Dies ist ein großes Problem mit der Festplatte, unabhängig von der Anzahl der gelöschten Dateien.
Ich würde versuchen, die Befehlszeile zu löschen und so viele wie möglich zu löschen, bis Sie auf eine gesperrte stoßen. Verwenden Sie dann den Prozess-Explorer, um herauszufinden, in welchem Prozess diese Datei geöffnet ist. Beenden Sie diesen Vorgang (wenn Sie können) und löschen Sie ihn erneut. Spülen, wiederholen :)
quelle
Starten Sie mit einer 'Live'-Linux-CD, der rm -rf, neu
quelle
Ein bisschen hacky, aber Sie können ein Skript erstellen, das die Dateien löscht. Ich kenne das Format nicht, aber wenn es Dateien sind, die mit den Buchstaben az beginnen, können Sie dies tun
Ändern Sie den Deltree mit der von Ihnen gewählten Entfernungsmethode. wahrscheinlich langsamer, aber weniger fehleranfällig?
Nebenbemerkung: Sie können auch versuchen, cygwin zu installieren, um Befehle wie rm abzurufen, die wahrscheinlich das Löschen von Dateien fortsetzen, selbst wenn bei einer Datei ein Fehler auftritt .
quelle
Die verschiedenen Methoden funktionieren vor allem. Wenn Sie Cygwin auf einem USB-Stick geladen haben, können Sie es einfach an Ihren lokalen USB-Anschluss anschließen, Ihre Cygwin-Shell starten und den RM-Befehl wie oben angegeben ausführen. Dies ist eine praktische Möglichkeit, die Unix-Flexibilität immer zur Hand zu haben.
quelle
Sie können auch die Wiederherstellungskonsole oder etwas in dieser Richtung starten. Das sollte alle seltsamen Probleme mit dem Betriebssystem völlig ignorieren.
quelle
Hängen Sie den Ordner von einem Linux-Computer ein und löschen Sie ihn von dort aus rekursiv.
# mount -t cifs //server/share /mnt/tobedeleted -o username=yourshareusername
# rm /mnt/tobedeleted/* -R
Sie können sogar einen Cron-Job verwenden, um die Dateien in regelmäßigen Abständen zu löschen.
quelle
Warum nicht einfach Robocopy verwenden und ein leeres Verzeichnis spiegeln?
Erstellen Sie einfach einen leeren Ordner und verwenden Sie dann:
quelle
Wenn keiner der anderen Vorschläge funktioniert, haben Sie darüber nachgedacht, Ihre E / A zu beschleunigen?
Kaufen Sie bessere Controller, schnellere Festplatten.
Oder ich frage mich, ob die Dateien temporär sind (wie Sie andeuten) und die Größe dies zulässt, Sie könnten der Box zusätzlichen RAM hinzufügen (billig) und eine RAM-Disk einrichten?
Im besten Fall wird die Leistung beim Löschen großer Dateivolumen nicht beeinträchtigt. Im schlimmsten Fall würde ein Neustart die Partition löschen.
quelle
Versuchen Sie, es auszuschneiden und in den Papierkorb einzufügen. Es sollte den Versuch umgehen, jede einzelne Datei zu verschieben. Ich bin mir nicht sicher, was es tun wird, um den Papierkorb zu leeren, da es dann wahrscheinlich jede Datei durchläuft.
quelle
Hat das Löschen mit UMSCHALT + ENTF einen Einfluss auf die Geschwindigkeit?
quelle