Aktionen

Windows Dateien mit zu langen Dateinamen Pfadnamen kopieren Dateiname zu lang Quelle oder Ziel

Aus znilwiki

Wenn Ihr eine Fehlermeldung wie

Quellpfad ist zu lang
Zielpfad ist zu lang
Die Dateinamen wären zu lang für den Zielordner ...

habt bieten sich folgende Lösungen an:


Variante 1: Netzlaufwerk mounten

Ihr sucht euch den Ordner der so nahe wie möglich an den Problematischen Dateien ist.
Beispiel:
Auf dem Server FILESERVER' gibt es eine Freigabe SHARE in der die Problematischen Dateien unter

\\FILESERVER\SHARE\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\

Der Pfad hat 158 Zeichen inklusive dem abschließenden Ordner ..\Muster\
Selbst wenn die Freigabe als Netzlaufwerk gemountet ist fällt ja nur der Anfang mit \\FILESERVER\SHARE weg was gerade mal 18 Zeichen spart.

Deshalb verbindet euch den langen Pfad als Netzlaufwerk! Entweder in der Eingabeaufforderung (CMD.exe) per

net use Y: "\\FILESERVER\SHARE\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\"

oder im Datei-Explorer über "Netzlaufwerk verbinden":
Windows-Pfade-ueber-256-Zeichen-001.png
Aus den 158 Zeichen sind so nun 3 geworden, in diesem Fall nämlich

Y:\

Eventuell müsst Ihr das mit Quelle und Ziel machen. Nun könnt Ihr neu versuchen zu kopieren.
Die Netzlaufwerke könnt Ihr im Anschluss per Rechtsklick -> Trennen wieder entfernen.



Variante 2: lokale Laufwerke

Falls die problematischen Dateien lokal liegen und Ihr nicht extra eine Freigabe für den vorherigen Trick erstellen wollt so nehmt den Befehl Subst.
Beispiel:
Auf Rechner liegen die Daten lokal unter

D:\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\

was 142 Zeichen entspricht. Mit

subst Y: "D:\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\"

habt Ihr den Ordner nun direkt unter Y:, verkürzt auf 3 Zeichen.
Hinterher werden Ihr Y: mit

subst Y: /D

wieder los.



Variante 3: Robocopy

Das gute Robocopy nutzt - in den neueren Versionen - die Windows-Unicode Methoden und kann auf diese Weise mit Pfaden umgehen die bis zu 32.000 Zeichen haben.
Mit

robocopy \\Server\Freigabe\Quellordner\ \\Server\Freigabe\Zielordner /E /COPYALL

könnt Ihr also die Dateien an den neuen Ort kopieren. /E steht dabei für "mit allen (auch leeren) Unterordnern",
/COPYALL für "inklusive Berechtigungen und Attributen"'
Hierbei werden am Ziel schon vorhandene Dateien und Ordner NICHT kopiert!

Die schärfere Variante wäre

robocopy \\Server\Freigabe\Quellordner\ \\Server\Freigabe\Zielordner /MIR /COPYALL

welche dafür sorgt das Quell- und Zielverzeichnis hinterher 1:1 gleich sind- ACHTUNG, am Ziel werden dabei ggf. auch Dateien oder Ordner gelöscht!


Variante 4: Vorherige Versionen / Previous Versions

Das ist ja alles schön und gut - aber was mache ich wenn die Daten aus den "vorherigen Versionen" Stammen? net use funktioniert da nicht und robocopy auch nicht!
Öffnet die entsprechende vorherige Version:
Windows-Pfade-ueber-256-Zeichen-002.png

Und lasst euch dann die Eigenschaften des Ordners anzeigen. Aus diesen kopiert ihr euch den Pfad:
Windows-Pfade-ueber-256-Zeichen-003.png

Beispielsweise ist der kopierte Pfad also

\\FILESERVER\SHARE\@GMT-2015.09.04-05.00.18\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\

net use funktioniert nicht - aber erstaunlicherweise subst:

subst Y: "\\FILESERVER\SHARE\@GMT-2015.09.04-05.00.18\Mitarbeiter\Mustermann\Archiv\Meine eigenen Dokumente\In Microsoft Word erstellt\Anschreiben an Kunden mit Grafik\Firmen im Ausland\Muster\"

und schon haben wir den Snapshot / die vorherige Version als Laufwerk Y:
Windows-Pfade-ueber-256-Zeichen-004.png

Sieht zwar komisch aus - funktioniert aber!
y: werdet Ihr dann mit

subst Y: /D

wieder los.



Variante 4: Mischung aus allem

In der Praxis habe ich es oft das ich

  • das Ziel verkürze per net use
  • die Quelle eine vorherige Version ist die mir per subst mounte
  • und ich das ganze per robocopy Quelle Ziel /E /COPYALL kopiere




Kommentare

Loading comments...