Pfadlänge
Hey Leute,
wir haben bei uns im Netzwerk Linux und Windows Fileserver mit Win und MAc Clients.
Nun habe ich das Problem das Macs natürlich längere Pfade/Dateiname akzeptieren als Windows mit 256/260 Zeichen.
Nun habe ich bei MS gesehen das man das wohl umgehen kann: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs ...
dieser Abschnitt:
Note The maximum path of 32,767 characters is approximate, because the "\\?\" prefix may be expanded to a longer string by the system at run time, and this expansion applies to the total length.
The "\\?\" prefix can also be used with paths constructed according to the universal naming convention (UNC). To specify such a path using UNC, use the "\\?\UNC\" prefix. For example, "\\?\UNC\server\share", where "server" is the name of the computer and "share" is the name of the shared folder. These prefixes are not used as part of the path itself. They indicate that the path should be passed to the system with minimal modification, which means that you cannot use forward slashes to represent path separators, or a period to represent the current directory, or double dots to represent the parent directory. Because you cannot use the "\\?\" prefix with a relative path, relative paths are always limited to a total of MAX_PATH characters.
So nun habe ich versucht damit auf meinen Server zuzugreifen jedoch gelingt mir das nicht hat jemand ein Idee was ich falsch mache?
das habe ich versucht: \\?\meinserver\share\ordner hat nicht funktioniert ganz normal \\meinserver\share\ordner geht aber.
VG an alle Helfer
wir haben bei uns im Netzwerk Linux und Windows Fileserver mit Win und MAc Clients.
Nun habe ich das Problem das Macs natürlich längere Pfade/Dateiname akzeptieren als Windows mit 256/260 Zeichen.
Nun habe ich bei MS gesehen das man das wohl umgehen kann: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs ...
dieser Abschnitt:
Note The maximum path of 32,767 characters is approximate, because the "\\?\" prefix may be expanded to a longer string by the system at run time, and this expansion applies to the total length.
The "\\?\" prefix can also be used with paths constructed according to the universal naming convention (UNC). To specify such a path using UNC, use the "\\?\UNC\" prefix. For example, "\\?\UNC\server\share", where "server" is the name of the computer and "share" is the name of the shared folder. These prefixes are not used as part of the path itself. They indicate that the path should be passed to the system with minimal modification, which means that you cannot use forward slashes to represent path separators, or a period to represent the current directory, or double dots to represent the parent directory. Because you cannot use the "\\?\" prefix with a relative path, relative paths are always limited to a total of MAX_PATH characters.
So nun habe ich versucht damit auf meinen Server zuzugreifen jedoch gelingt mir das nicht hat jemand ein Idee was ich falsch mache?
das habe ich versucht: \\?\meinserver\share\ordner hat nicht funktioniert ganz normal \\meinserver\share\ordner geht aber.
VG an alle Helfer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 289433
Url: https://administrator.de/forum/pfadlaenge-289433.html
Ausgedruckt am: 23.12.2024 um 00:12 Uhr
8 Kommentare
Neuester Kommentar
Naja geht beides nicht, eine Idee?
Geht hier auch problemlos in der CMD ...auch mit Pfaden länger als 260Gruß jodel32
Ich habe mir jetzt mal die Mühe gemacht, und genannten MS Artikel gelesen. Dieser bezieht sich ausschließlich auf die Verwendung von Dateisystempfaden im Zusammenhang mit den Windows API's. Dass man diese spezielle Schreibweise auch direkt im Explorer oder in der CMD nutzen kann, steht dort nicht.
Somit Deine Frage zu beantworten: Nein, damit kommst Du nicht weiter.
Du musst hier für den Explorer und den "anhänglichen" Programmen, welche seine Schnittstellen nutzen, den Pfad verkürzen. Entweder durch Netzlaufwerke, welche tiefer im Pfad verbunden werden oder via "subst".
wobei dann "\\server\share\.............\pfad\pfad\pfad" jeweils auch nicht länger als 259 Zeichen sein darf.
E.
Somit Deine Frage zu beantworten: Nein, damit kommst Du nicht weiter.
Du musst hier für den Explorer und den "anhänglichen" Programmen, welche seine Schnittstellen nutzen, den Pfad verkürzen. Entweder durch Netzlaufwerke, welche tiefer im Pfad verbunden werden oder via "subst".
net use X: \\server\share
net use Y: \\server\share\.............\pfad\pfad\pfad
net use X: \\server\share
subst Y: X:\.............\pfad\pfad\pfad
wobei dann "\\server\share\.............\pfad\pfad\pfad" jeweils auch nicht länger als 259 Zeichen sein darf.
E.
hab mit der Shell Daten auf diese Weise kopiert.
Windows ist einfach zu blöd für Dinge die Linux schon seit Jahrzehnten beherrscht, selbst die Powershell hat da immer noch ihr Probleme.
Anstatt das MS mal diese wichtigen Dinge angeht, wird immer nur an der Oberfläche poliert. Das scheint wohl einfach zu tief im Code verwachsen zu sein. Das hat ja vor einiger Zeit schon mal ein MS-Aussteiger verlauten lassen, das die Jungs Ihren eigenen Code nicht mehr im Überblick haben.
CMD bringt je dem User nichts
Dann siehe @emeriks.Windows ist einfach zu blöd für Dinge die Linux schon seit Jahrzehnten beherrscht, selbst die Powershell hat da immer noch ihr Probleme.
Anstatt das MS mal diese wichtigen Dinge angeht, wird immer nur an der Oberfläche poliert. Das scheint wohl einfach zu tief im Code verwachsen zu sein. Das hat ja vor einiger Zeit schon mal ein MS-Aussteiger verlauten lassen, das die Jungs Ihren eigenen Code nicht mehr im Überblick haben.