Mögliches Duplikat:
Was ist der längste Dateipfad, den Windows verarbeiten kann?
Weiß jemand, ob es möglich ist, die maximale Pfadlänge in Windows 7 (64-Bit) zu verlängern?
Mögliches Duplikat:
Was ist der längste Dateipfad, den Windows verarbeiten kann?
Weiß jemand, ob es möglich ist, die maximale Pfadlänge in Windows 7 (64-Bit) zu verlängern?
Antworten:
Leider lautet die Antwort " hängt vom Programm ab ". Es liegt an den Leuten, die die Programme schreiben, um zu bestimmen, welche Methode sie verwenden möchten. Tatsächlich (schamloser Plug) habe ich vor ein paar Wochen einen Blogeintrag geschrieben, in dem das Problem bei Explorer beschrieben wird, das immer noch durch MAX_PATH begrenzt ist .
Je nachdem, was Sie versuchen, können Sie ein anderes Programm wie Microsoft Word zum Verwalten der langen Pfade verwenden. Ansonsten besteht Ihre einzige andere Möglichkeit darin, einfach nur damit zu leben, da dies schon immer so war und sich in absehbarer Zeit nicht zu ändern scheint.
Ich dachte nur, ich würde auch erwähnen, dass 64-Bit-Windows auch die "Win32" -API verwendet und CreateFileA
sowohl für 32-Bit- als auch für 64-Bit-Programme das Problem besteht.
BEARBEITEN: Geeky Details
Das Problem besteht nur in der CreateFileA
Funktion und der CreateFileW
Funktion, wenn ein absoluter Pfad mit einem Laufwerksbuchstaben verwendet wird. Die einzige Möglichkeit, dies zu \\?\C:\Path\To\File.txt
umgehen (im Code), besteht in der Verwendung der Syntax. Sogar Programme, die CreateFileW
einen Pfad von verwenden, C:\Path\To\File.txt
haben das Problem. Es ist schwer zu beschreiben, aber der Hauptgrund dafür, dass Programme die \\?\
Syntax intern nicht unterstützen, ist, dass sie keine relativen Pfade (Pfade wie ..\Documents\file.doc
) mehr verwenden können.
Der in Windows 7 enthaltene Befehl SUBST ermöglicht den Zugriff auf einen längeren Pfad über den neuen Buchstaben des virtuellen Laufwerks.
Ordnet einen Pfad einem Laufwerksbuchstaben zu.
SUBST [Laufwerk1: [Laufwerk2:] Pfad]
SUBST-Laufwerk1: / D
Laufwerk1: Gibt ein virtuelles Laufwerk an, dem Sie einen Pfad zuweisen möchten.
[Laufwerk2:] Pfad Gibt ein physisches Laufwerk und einen Pfad an, die Sie einem virtuellen Laufwerk zuweisen möchten.
/ D Löscht ein substituiertes (virtuelles) Laufwerk.
Geben Sie SUBST ohne Parameter ein, um eine Liste der aktuellen virtuellen Laufwerke anzuzeigen.
Verwenden Sie einen Knotenpunkt , um einen kürzeren Pfad in einen längeren Pfad umzuwandeln.