Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Практически каждый пользователь Windows рано или поздно сталкивается с ошибкой ″слишком длинный путь″ (path too long). Ошибка эта возникает при работе с файлами или папками, у которых полный путь превышает значение в 260 символов.

Напомню, что полный путь включает в себя букву диска, двоеточие, обратный слэш, имена компонентов (файл, директория) разделенные слешем и завершающий пустой символ (NUL). Выглядит полный путь примерно так:

C:\directory\subdirectory\filename

Соответственно, если сумма всех компонентов пути больше 260 символов, то путь считается слишком длинным. Большинство приложений Windows не умеют работать с такими путями и при обращении к файлу\папке выдадут примерно такое сообщение:

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символов. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?\, например так:

\?\C:\directory\subdirectory\filename

В Windows 10 (начиная с версии 1607) появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?\ . Сделать это можно двумя способами — с помощью групповых политик или путем редактирования реестра. Мы рассмотрим оба способа, начнем с политик.

Групповые политики
Первым делом открываем редактор локальных групповых политик, для чего жмем клавиши Win+R и выполняем команду gpedit.msc.

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Нужная нам политика находится в разделе Конфигурация компьютера\Административные шаблоны\Система\Файловая система (Computer configuration\Administrative templates\System\Filesystem) и называется Включить длинные пути Win32 (Enable Win32 long paths).

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Для активации поддержки длинных путей надо перевести политику в состояние «Включено».

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Реестр
Для включения поддержки длинных путей через реестр необходимо найти в разделе HKLM\System\CurrentControlSet\Control\FileSystem параметр с именем LongPathEnabled и задать его значение равным 1.

Ошибка ″слишком длинный путь″ (path too long) в Windows 10

Эту операцию можно произвести с помощью PowerShell, командой:

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1

В обоих случаях потребуется перезагрузить компьютер. После перезагрузки изменения вступят в силу и для путей будет действовать только ограничение файловой системы NTFS (32767 символа), превысить которое вам навряд ли удастся. Однако это вовсе не значит, что можно расслабится. В некоторых приложениях проверка MAX_PATH заложена в коде, поэтому по возможности лучше не превышать это ограничение.

 

Источник: https://windowsnotes.ru/

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.