16

Возможный дубликат:
Какой самый длинный путь к файлу, который может обработать Windows?

Кто-нибудь знает, возможно ли увеличить максимальную длину пути в Windows 7 (64-битной)?

3 ответа3

21

К сожалению, ответ « зависит от программы ». Люди, которые пишут программы, должны определить, какой метод они хотят использовать. Фактически, (бесстыдный плагин) я написал в блоге несколько недель назад статью, в которой описывается проблема в проводнике, все еще ограниченная 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).

6

Команда SUBST, включенная в Windows 7, позволит получить более длинный путь через новую букву виртуального диска.

Связывает путь с буквой диска.

SUBST [диск1: [диск2:] путь]

SUBST диск1: /D

диск1: указывает виртуальный диск, которому вы хотите назначить путь.

[диск2:] путь Указывает физический диск и путь, который вы хотите назначить виртуальному диску.

/D Удаляет замещенный (виртуальный) диск.

Введите SUBST без параметров, чтобы отобразить список текущих виртуальных дисков.

2

Используйте точку соединения, чтобы обеспечить более короткий путь в более длинный путь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .