lange Ordner und Dateinamen MAX_PATH

 

Aufgrund von Windows API Limits, können in Windows keine Ordner mit mehr als 260 Zeichen (=MAX_PATH) erzeugt werden, obwohl NTFS 32,767 Zeichen kann.

Außerdem darf die Ordnertiefe nicht mehr als 128 Ordner sein.

Windows hindert uns so lange Dateien anzulegen: 

Bei meinem Test konnte ich einfach keinen längeren Dateinamen eingeben.

Will ich einen langen Ordner, in den ohnehin bereits langen Ordner, verschieben, kommt folgender Fehler:

Zielpfad ist zu lang

Die Dateinamen wären zu lang für den Zielordner. Kürzen Sie die Dateinamen und wiederholen Sie den Vorgang, oder verwenden Sie einen anderen Ort, der einen kürzeren Pfad hat.

 

Sehr interessant wird es aber, wenn ich den langen Ordner freigebe, denn dann zählt die Länge der Freigabe:

Unser Ordner: "C:\temp\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen"

wenn ich einen Ordner innerhalb des Pfades freigebe, also den Ordner:

"C:\temp\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen"

als Freigabename: "lange"

Dann kann ich den Ordner über einen share aufrufen: \\localhost\lange

 

 

und dort dann einen längeren Dateinamen anlegen:

 

und sogar nochmal den langen Ordnernamen rein kopieren

unser echter Pfad heißt jetzt:

"C:\temp\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen - Kopie"

also wesentlich mehr als die 260 Zeichen

Windows 7 kennt das Problem und macht beim Aufruf daraus automatisch folgendes: C:\temp\EINLAN~1.ORD\EINLAN~1.ORD\ein langer Ordnername um das Problem mit den Dateinamen bzw. Ordnern und deren Länge nachzustellen - Kopie

es verwendet also die 8.3 Dateinamen um damit umgehen zu können

 

um diese Limitation zu umgehen gibt es außerdem folgende Möglichkeiten:

\\?\ Prefix

Aufruf über: "\\?\" prefix

Wenn du den Pfad am Server mit: \\?\d:\langername anstelle von d:\langername aufrufst. bzw. den Fileshare mit \\?\UNC\server\share anstelle von \\server\share kann der Pfad im Explorer aufgerufen werden

 

Quelle: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx 

8.3 Namen verwenden

diese können z.B. mit dir /x angezeigt werden

einen Share bzw ein Laufwerk innerhalb der Ordnerstruktur

wie in unserem obigen Beispiel, den langen Ordnernamen mit einem kürzeren Namen freigeben 

also c:\langerordner\2terlangerordner\3terlangerordner

z.B. den Ordner: 3terlangerordner freigeben (ev. mit einem kürzeren Namen) und diesen dann mit:

\\Servername\kurzername3 ansprechen

Quelle: http://support.microsoft.com/kb/320081/en-us

Windows 10 - Einstellung

Seit Windows 10 kann das Limit per Einstellung in der Registry oder GPO aufgehoben werden, allerdings nicht für den Windows Explorer:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem REG_DWORD LongPathsEnabled 1

https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#enable-long-paths-in-windows-10-version-1607-and-later

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 28.08.2020 von Bernhard |🔔 | Kommentare:0

Bluescreen MiniDump Analyse | Troubleshooting | WMI repository is INCONSISTENT

Top-Artikel in diesem Bereich


Windows fehlende Wiederherstellungspartition erzeugen

Beim Klonvorgang einer großen auf eine kleinere Festplatte habe ich die Wiederherstellungspartition verloren. Soweit nicht schlimm, Windows funktioniert auch ohne Wiederherstellungspartition, im Falle eines Fehlers hilft die Partition allerdings den PC wieder flottzubekommen. Zusammengefasst ist das mit der Wiederherstellungspartition wie folgt: Solange die Partition noch vorhanden ist, kann diese deaktiviert und in eine Datei geschrieben werden. Wenn die Partition unerwartet abhandenkommt, kann...


Problem gelöst:cmd, BATch Umlaute Windows robocopy chcp 1252

Probleme mit Umlauten in Batch (CMD) Dateien liegen an der Verwendung unterschiedlicher Zeichensätze. So klappt beispielsweise das Kopieren eines Ordners mit Umlauten nicht, da das Batch-Skript diese nicht richtig interpretiert. Wer ein Video bevorzugt, kann sich dazu mein YouTube-Video ansehen.


Localsystem: lokales Systemkonto verwenden - mehr Rechte

Aus Anwendersicht gibt es keinen vernünftigen Grund etwas als „SYSTEM“ zu starten. Wenn der lokale Administrator aber zu wenig Rechte hat, kann „SYSTEM“ den Zugriff dennoch gewähren. Das SYSTEM Konto (Lokales Systemkonto oder local System) hat uneingeschränkte Rechte auf dem Computer. 

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details