Problem beim Kopieren von Dateien. "Zielpfad ist zu lang" Was kann man da tun?
Ich muss Dateien von einer externen Harddisk auf eine andere kopieren. Leider kommt hier immer wieder die Fehlermeldung, dass der Dateiname für den Zielordner zu lang sei (siehe angehängtes Bild). Diese Lösungen habe ich schon ausprobiert:
- Die Einstellungen im Registrierungs-Editor für lange Pfade aktiviert (long Paths Enabled auf 1 gestellt)
- Die Festplatte, auf die ich die Dateien speichern muss formatiert.
- Die Gruppenoptionen aufrufen, da man da scheinbar auch etwas ändern kann. Allerdings kam ich da nicht rein, da das mit der Homeversion (Windows 11) scheinbar nicht geht.
Was ich seltsam finde ist, dass das Problem scheinbar nur die eine Festplatte betrifft, obwohl das Problem meiner Recherche nach eigentlich bei Windows selbst liegen müsste. Auf der anderen Festplatte sind die Pfade ja so lang und ich kann die verschachtelten Ordner auch problemlos öffnen und neue Ordner erstellen. Daher finde ich es seltsam dass das auf der anderen Festplatte (die deutlich neuer ist) nicht geht.
Die Ordnerstruktur möchte ich eigentlich nicht ändern, da das einerseits sehr zeitaufwendig wäre und andererseits die Struktur dann keinen Sinn mehr macht.
Leider bin mit IT-Dingen nicht wirklich vertraut... Hat jemand eine Idee was ich selber noch machen könnte? Oder ist das ein Fall für einen Fachmann?
4 Antworten
Was kann man da tun?
Steht doch bereits in der Fehlermeldung.
Die Einstellungen im Registrierungs-Editor für lange Pfade aktiviert
Die Einstellung bezieht sich auf den eigentlichen Dateinamen inkl. Endung.
In der Fehlermeldung geht es jedoch darum, dass der Dateiname (inkl. dem kompletten Pfad!!) zu lang ist. Jedes Zeichen ab dem Laufwerksbuchstaben wird dabei gezählt, jedes enthaltene Sonderzeichen wird u.U. durch mehr als ein Standardzeichen gespeichert.... (Unter Windows ist ein Leerzeichen im Pfad oder Dateiname bereits drei Zeichen!) Und wenn die gesamte Bezeichnung des Pfades mit allen Zeichen, Dateinamen und Dateiendung das Limit überschreitet, welches vom Dateisystem auf dem Speichermedium unterstützt wird, läufst du beim Schreiben gegen die Wand und hast im Schlimmsten Fall nicht einmal mehr die Option, die Datei noch zu lesen.
Also Verzeichnisnamen sinnvoll kürzen - besonders wenn die Verzeichnisstruktur sehr tief geht und viele verschachtelte Unterverzeichnisse genutzt werden, auf Sonderzeichen wo es geht verzichten, Dateinamen nicht in ganzen Sätzen ausarten lassen.
Das ist aus historischen Gründen bzw. ggf. auch wg. Embedded-Systems so. Lies https://learn.microsoft.com/de-de/windows/win32/fileio/maximum-file-path-limitation bzw. das kann man deaktivieren. Logischerweise mit dem Nachteil, dass gewisse System die Dateien nicht lesen können.
notting
Das bezieht sich auf den Datei NAMEN. BENENNE doch die Datei um.. und das Problem ist gegessen.
Das Problem sind eben nicht die Namen der einzelnen Dateien, sondern dass die Namen der gesamten Ordner eines Pfads jeweils zu lang sind. Je mehr man die Struktur verschachtelt, desto mehr Zeichen hat der aktuelle Pfad. Das Problem scheint zu sein, dass die Festplatte nur eine geringe Begrenzung für die Zeichenanzahl der Pfade zu haben scheint, der Computer selbst aber nicht.
Das Umbenennen der Ordner möchte ich ja eben gerade vermeiden, da das bei mehreren 10'000 Dateien sehr Zeitaufwendig wäre. Trotzdem danke für die Antwort^^
Schau dir mal im Explorer an (Rechtsklick auf das Laufwerk und Eigenschaften), mit welchem Dateisystem die Platte formatiert wurde. NTFS ist da recht flexibel, aber die FAT-Geschichten können da Begrenzungen haben. Ext(x) nicht betrachtet.
Jetzt gehst du aber tief.
Ganz grob
- jede Platte hat eine kleinste Zuordnungseinheit - das sind 512 Byte. Das ist aber die Hardware.
- Weil es da so viele gibt, fasst sie das Betriebssystem (Windows / Linux) in den Zuordnungseinheiten zusammen - das sind die Cluster. Es wird immer ein Cluster komplett gelesen oder geschrieben - kein Bruchteil davon
- bedeutet: hast du furchtbar viele kleine Dateien, dann brauchst du dazu auch furchtbar viele Cluster. Wenige große Dateien = weniger, aber größere Cluster
- Das Verzeichnis ist im Prinzip eine Tabelle, in der die Eigenschaften der Datei (Name, Größe, Position usw) hinterlegt sind. Bei wenigen Dateien bringst du die Tabelle in einen Cluster, bei vielen Dateien brauchst du evtl. mehr dazu.
Bedeutet: da sehe ich das Problem nicht, weil die Verzeichnisse / Tabellen beim Wachsen größer werden können.
Dennoch: Jedes Dateisystem kann für den Datei (und Verzeichnis-) Namen Beschränkungen haben - kann man mal googeln.
Ganz doof: es könnte (weiß ich nicht) ein Problem machen, wenn der Dateiname als UTF gespeichert ist statt als ANSI, weil dann je nach Buchstabe mehrere Bytes pro Zeichen verwendet werden.
Alles nur ein bisschen Background.
Geh mal in den Editor/Notepad. In einem Explorer gehst du auf eine der Dateien, die du kopieren willst und klickst drauf. Den Dateinamen aus dem Adress-Feld kopierst du in den Editor.
Dann schaust du auf die problematische Platte und machst etwa das Gleiche mit einer neuen Datei - auch in den Editor. Dann vergleichen.
Meine Vermutung: du willst einen Datei-Baum von der Quell-Disk in einen Unter-Dateibaum der Zieldisk kopieren. Dabei muss man aber bedenken, dass dabei ja auch die Pfade aneinandergehängt werden.
Hui, dass die Frage so tief geht hätte ich nicht erwartet :,)
Aber herzlichen Dank für die Infos. Ich schaue mir das mal an^^
Habs jetzt geschafft, aber ein wenig anders als erwartet. Ich habe die ersten paar Überordner der Struktur auseinandergenommen, und sie dann als alles auf der zweiten Festplatte war wieder zusammengesetzt. Komischerweise hat das jetzt funktioniert, obwohl der Pfad somit wieder gleich lang ist xD
Vielen Dank für die Antwort. Tatsächlich habe ich das schon versucht. Habe die Festplatte mit NTFS formatiert. Habe auch keine Schnellformatierung gemacht sondern eine lange. Leider hat das nichts gebracht. Es hat noch ein Feld, das mit "Grösse der Zustellungseinheiten" beschriftet ist. Da habe ich nichts dran geändert. Weisst du ob man dort etwas machen könnte?