Gerade beim Löschen von Dateien in einem großen Dateisystem kann es sehr schnell vorkommen, dass Löschvorgänge über den Standard Windows Explorer fehlschlagen, weil das Windows Betriebssystem feststellt, dass der Quellpfad bzw. der Quelldateiname zu lang ist, um bearbeitet zu werden. Wir haben schon einmal beschrieben, dass Windows maximal Dateinamen bzw. Ordnernamen in einer Länge von 260 Zeichen verarbeiten kann.
Trotzdem kann es vorkommen, dass dieses Limit durch Kopiervorgänge überschritten wird und es beim Verschieben, Kopieren oder Löschen von Dateien und Ordnern zu folgenden Fehlermeldungen kommen kann.
Die genaue Fehlermeldung lautet:
Quellpfad ist zu lang
Die Quelldateinamen sind zu lang für das Dateisystem. Verschieben Sie sie an einen anderen Ort, der einen kürzeren Pfadnamen hat, oder benennen Sie sie in kürzere Namen um, bevor Sie den Vorgang fortsetzen.
Die gleiche Meldung gibt es auch nochmals, bei der dann sogar die in Frage kommende Datei mit angezeigt wird. Diese sieht wie folgt aus.
Um das Problem zu lösen ist es natürlich möglich, die in Frage kommenden Ordner und Dateinamen im Dateisystem zu kürzen und die Problemdateien nach und nach manuell zu löschen. Das kann aber bei einem wirklich großen Dateisystem keine Lösung sein, denn dieses Längenproblem kann extrem häufig auftreten. Deswegen haben wir nach einer einfachen Lösungsmöglichkeit gesucht.
Zu lange Quelldateinamen per Robocopy löschen
Die einfachste und beste Lösung ist das Problem durch Robocopy zu lösen. Über den „/MIR“ Befehl könnt Ihr ein bestehendes Verzeichnis einfach mit einem „leeren“ Verzeichnis abgleichen lassen und die Differenzen werden automatisch durch Robocopy gelöscht. Robocopy scheint keinerlei Probleme mit zu langen Datei- oder Ordnernamen zu haben. Alles war Ihr machen müsst, werden wir hier kurz beschreiben.
1. Leeres Verzeichnis anlegen
Als erstes müsst Ihr einfach ein leeres Verzeichnis anlegen, in unserem Fall haben wir einfach auf der Partition D: einen Ordner mit dem Namen „D:\Leer“ angelegt.
2. Leeres Verzeichnis anlegen
Danach öffnet Ihr eine Eingabeaufforderung mit Adminstrator Rechten und wechselt in das Problemverzeichnis, welches Ihr nicht löschen könnt. Es ist unbedingt notwendig, dass Ihr im richtigen Quellordner steht, indem die Daten gelöscht werden sollen. Dort gebt Ihr folgenden Befehl ein.
robocopy D:\Leer . /MIR
Wichtig ist, dass vor und nach dem Punkt ein Leerzeichen ist und Ihr müsst natürlich den Namen des „Leerverzeichnisses“ anpassen.
ACHTUNG: Bitte aufpassen, dass Ihr wirklich im richtigen Verzeichnis steht, denn sonst löscht Ihr Euch aus Versehen evtl. andere wichtige Dateien.
Anschließend löst Robocopy die zu langen Pfade im Dateisystem problemlos.
Robocopy ist eines der hilfreichsten Microsoft Tools überhaupt und deswegen haben wir schon zahlreiche Beiträge zu „Robocopy“ verfasst. Hier nachfolgend eine Auswahl der beliebtesten Artikel.
– Robocopy mit Parameter /MT beschleunigen
– Robocopy – erneutes Kopieren von bereits vorhandenen Dateien verhindern – Parameter /FFT
– Profil Verzeichnisse ohne Berechtigung mit Robocopy kopieren
– Robocopy Fehler beim Kopieren 0x80070021
– Robocopy Fehler 1392 (0x00000570) – Die Datei oder das Verzeichnis ist beschädigt und nicht lesbar.
– Ordner löschen bis auf die letzten ……
Vielen Dank, Robocopy hat geklappt!!! 10/10
Aber seltsam, dass der Windows Explorer & das CMD-Build-in DEL nicht mit langen Dateinamen klarkommen.