Wie kopiere ich Dateien mit einem zu langen Dateipfad in Windows?

51

Ich muss Backups einiger Dateien auf einer Netzwerkfreigabe erstellen. Ich muss diese Dateien jedoch vor dem Brennen auf mein lokales Laufwerk kopieren, da sie möglicherweise verwendet werden. Einige der Dateien werden nicht kopiert, da der Dateipfad zu lang ist. Gibt es eine andere Problemumgehung als das Ändern der Dateistruktur?

Brian Sturm
quelle
1
Siehe auch Pfadnamenbeschränkung für Fenster mit 256 Zeichen .
Gilles 'SO- hör auf, böse zu sein'

Antworten:

27

Die maximale Pfadlänge beträgt 260 in Windows Vista / 7. Ich kann drei Lösungen empfehlen:

  • (Wenn der Pfad zu lang ist) Kopieren Sie den Ordner zuerst in die oberen Ebenen des Windows-Explorers und verschieben Sie ihn dann auf Ihren lokalen Computer
  • (Wenn die Dateinamen zu lang sind) Versuchen Sie zunächst, sie mit einer Archivierungsanwendung zu komprimieren, kopieren Sie die Archivierungsdatei auf Ihren lokalen Computer und extrahieren Sie den Inhalt.
  • Verwenden Sie Apps von Drittanbietern.

Bei all diesen Vorschlägen wird davon ausgegangen, dass Sie über Schreibzugriff auf den freigegebenen Netzwerkordner / Computer verfügen. Wenn Sie dies nicht tun können, benötigen Sie möglicherweise die Hilfe Ihres Administrators.

Gani Simsek
quelle
8
das zippen der dateien hat funktioniert!
Brian Sturm
@ BrianSturm, Nun, vorausgesetzt, es handelt sich um Apps von Drittanbietern
Pacerier
Obwohl ich das mit Windows wirklich hasse ... hat mir die Zip-Lösung wirklich den Tag gerettet. Vielen Dank!
Bas Slagter
66
robocopy /E source destination

Robuste Datei- und Ordnerkopie .

Windows 7 und höher:
Robocopy XP027 ist ein Standardbefehl unter Windows 7 und höher.

NT 4 / Windows 2000:
Die Windows Server 2003 Resource Kit-Tools enthalten Robocopy XP010,
das unter NT 4 / Windows 2000 ausgeführt werden kann.

Windows 95 oder NT 3.5:
Robocopy kann unter Windows 95 oder NT 3.5 nicht ausgeführt werden. (Robocopy ist eine Unicode-Anwendung).

Umgehung von Windows 95 oder NT 3.5:
Die Microsoft Robocopy-GUI installiert Robocopy XP026 unter C: \ Windows \ system32.
Diese Version kann auf älteren Betriebssystemen ausgeführt werden
und enthält einige Funktionen von XP027 (/ BYTES), die Fehlerbehandlung ist jedoch fehlerhaft.

Robocopy-Aufträge und die Option "Quelle überwachen" bieten eine Alternative zum Einrichten einer geplanten Aufgabe zum Ausführen einer Stapeldatei mit einem Robocopy-Befehl.

user19496
quelle
6
Das ist die Lösung. Wenn Sie die Unterstützung für Pfade mit einer Länge von mehr als 256 deaktivieren möchten, übergeben Sie das /256Flag. Danke vielmals! Ich habe den ganzen Tag damit gekämpft.
Automatico
1
tolle! Lösung Ich kenne diese bult-in Lösung noch nie.
Islam
2
Tolle Lösung - ein paar weitere Hinweise: (1) Ziel sollte den Ordnernamen enthalten, wenn der Ordner kopiert wird - zB wenn C: \ Windows nach D: \ Windows kopiert wird, lautet der Befehl robocopy /E C:\Windows D:\Windows(dh nicht Robocopy / EC: \ Windows D: \ ). (2) Kann Dateien verschieben, anstatt sie mit der /MOVEOption zu kopieren .
Steve Chambers
Unter Windows ist dies eine zuverlässige Lösung für die NAS-Nutzung. Sie können eine Kopie von Millionen von Dateien erstellen. Wenn die Übertragung zur Hälfte unterbrochen wird, wird sie dort fortgesetzt, wo sie aufgehört hat, und es werden nicht alle bereits übertragenen Dateien erneut kopiert. Es ist sehr wertvoll, wenn Sie eine Wifi-Verbindung haben, die zeitweise unterbrochen wird und dennoch eine große Anzahl von Dateien mit garantierter Fertigstellung verschieben möchte.
user19496
Dies funktioniert nicht für Dateien mit ungültigen Namen unter Windows. Gibt es dafür eine Flagge, die hilft?
Richard
16

Sie können auf Pfadlängen von bis zu ~ 32.000 Zeichen zugreifen, indem Sie das Präfix "" voranstellen \\?\.

\\?\C:\Some\Really\Long\Path

Dies funktioniert über die Eingabeaufforderung und alle anderen Programme, die die Win32-Unicode-API-Methoden verwenden, einschließlich .NET-Apps. Es erfordert ein Dateisystem, das lange Pfade unterstützt (z. B. NTFS). Wenn Sie jedoch ein Problem mit langen Pfaden haben, ist dies eine Selbstverständlichkeit.

Beachten Sie, dass bestimmte Anwendungen und viele native Tools (z. B. der Explorer) Probleme mit diesen Pfaden haben .

Basic
quelle
2
Das ist ein wirklich toller Tipp. Ich arbeite auch daran, mit den Dateinamen com1, com2 usw. umzugehen.
Andreas Reiff
2

FastCopy ist ein Open-Source-C-Projekt von SHIROUZU Hiroaki und "die schnellste Kopier- / Löschsoftware unter Windows". Es unterstützt UNICODE und über MAX_PATH (260 Zeichen) Dateipfadnamen.

Wenn Sie Hunderte von Pfaden haben, die zu lang sind, um sie zu reparieren, verwenden Sie das Tool " Path Tool Long Auto Fixer "

Markus
quelle
2
FastCopy ist wirklich sehr gut. Im Gegensatz zu RoboCopy sind hier insbesondere Verzeichnisknoten / Softlinks nützlich.
Rlpowell
Ausgezeichnet. Alternativ gibt es eine SO-Antwort, die ähnliche Schnellkopieprogramme auflistet , die normalerweise auch mit erweiterten Pfaden kompatibel sind.
am
-3

Die schnellste Lösung, die ich in dieser Situation verwendet habe, bestand darin, die überlangen Namensordner in "1" umzubenennen.

Außerdem versuche ich allgemein, allen Benutzern zu erklären, dass sie ihre Lebensgeschichte nicht in einen Datei- oder Ordnernamen schreiben sollen.

Jeder anständige Dateimanager kann Dateinamen mit mehr als 260 Zeichen verarbeiten.

Overmind
quelle