Возможный дубликат:
Какой самый длинный путь к файлу, который может обработать Windows?
Кто-нибудь знает, возможно ли увеличить максимальную длину пути в Windows 7 (64-битной)?
Возможный дубликат:
Какой самый длинный путь к файлу, который может обработать Windows?
Кто-нибудь знает, возможно ли увеличить максимальную длину пути в Windows 7 (64-битной)?
К сожалению, ответ « зависит от программы ». Люди, которые пишут программы, должны определить, какой метод они хотят использовать. Фактически, (бесстыдный плагин) я написал в блоге несколько недель назад статью, в которой описывается проблема в проводнике, все еще ограниченная MAX_PATH.
В зависимости от того, что вы пытаетесь сделать, вы можете использовать другую программу для управления длинными путями, например Microsoft Word. В противном случае, ваш единственный вариант - просто "жить с этим", так как он был таким всегда и, похоже, не изменится в ближайшее время.
Просто подумал, я бы также упомянул, что 64-битная Windows также использует "Win32" API, и CreateFileA
для 32-битных и 64-битных программ имеет проблему.
РЕДАКТИРОВАТЬ: Geeky Подробности
Проблема существует только в функции CreateFileA
функции CreateFileW
когда используется абсолютный путь с буквой диска. Единственный способ обойти это (в коде) - использовать \\?\C:\Path\To\File.txt
... поэтому проблема возникает даже в программах, использующих CreateFileW
с путем C:\Path\To\File.txt
. Это сложно описать, но не стоит и говорить, что это самая большая причина программ, не поддерживающих внутренне \\?\
синтаксис - они теряют способность использовать относительные пути (пути как ..\Documents\file.doc
).
Команда SUBST, включенная в Windows 7, позволит получить более длинный путь через новую букву виртуального диска.
Связывает путь с буквой диска.
SUBST [диск1: [диск2:] путь]
SUBST диск1: /D
диск1: указывает виртуальный диск, которому вы хотите назначить путь.
[диск2:] путь Указывает физический диск и путь, который вы хотите назначить виртуальному диску.
/D Удаляет замещенный (виртуальный) диск.
Введите SUBST без параметров, чтобы отобразить список текущих виртуальных дисков.
Используйте точку соединения, чтобы обеспечить более короткий путь в более длинный путь.