Ограничение длины пути в 260 символов в Windows, известное как ошибка “path too long”, часто создает проблемы при работе с файлами, особенно в Проводнике или приложениях, использующих Win32 API. Это ограничение не связано с файловой системой NTFS, которая поддерживает пути до 32 767 символов, а является особенностью API. При превышении лимита файлы могут не открываться, не перемещаться или не удаляться. Начиная с Windows 10 Anniversary Update (1607) и Windows Server 2016, Microsoft добавила возможность отключить ограничение MAX_PATH. В этой статье мы разберем, как снять ограничение длины пути с помощью групповых политик, реестра или PowerShell.
Почему возникает ограничение в 260 символов?
Ограничение MAX_PATH в 260 символов (включая полный путь и имя файла) встроено в Win32 API, используемое многими приложениями, включая Проводник Windows. Это приводит к ошибкам при работе с глубоко вложенными папками или длинными именами файлов. Хотя NTFS поддерживает гораздо более длинные пути, устаревшее ограничение API мешает их использованию. Отключение лимита позволяет приложениям, поддерживающим длинные пути, работать с файлами без ошибок.
Отключение ограничения через групповые политики
Для пользователей Windows 10 Pro, Enterprise или Windows Server самый удобный способ — использование Редактора групповых политик.
1. Откройте Редактор локальной групповой политики:
— Нажмите Win+R и выполните:
gpedit.msc
2. Перейдите в раздел:
Конфигурация компьютера → Административные шаблоны → Система → Файловая система → NTFS
3. Найдите политику Включить поддержку длинных путей NTFS (Enable Win32 long paths).
4. Дважды щелкните по ней, выберите Включено (Enabled).
5. Нажмите ОК и закройте редактор.
6. Перезагрузите компьютер, чтобы изменения вступили в силу.
Отключение ограничения через реестр
Для Windows 10 Home или случаев, когда gpedit.msc недоступен, используйте Редактор реестра.
1. Откройте Редактор реестра:
— Нажмите Win+R и выполните:
regedit.exe
2. Перейдите в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
3. Щелкните правой кнопкой мыши в правой части окна, выберите Создать → Параметр DWORD (32 бита).
4. Назовите параметр LongPathsEnabled.
5. Дважды щелкните по нему и установите значение 1.
6. Нажмите ОК и закройте редактор.
7. Перезагрузите компьютер.
Отключение ограничения через PowerShell
Для автоматизации или быстрого применения используйте PowerShell:
1. Откройте PowerShell с правами администратора
2. Выполните команду:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled -Value 1
3. Перезагрузите компьютер.
Проверка результата
После перезагрузки ограничение MAX_PATH будет снято, и приложения, поддерживающие длинные пути, смогут работать с файлами, путь к которым превышает 260 символов. Максимальная длина пути теперь ограничена только возможностями NTFS — 32 767 символов.
Чтобы проверить, создайте папку с глубоко вложенной структурой (например, C:\Test\Subfolder1\Subfolder2\…) и файл с длинным именем. Попробуйте открыть, переместить или удалить его через Проводник или другое приложение.
Особенности и ограничения
— Совместимость приложений: Не все программы поддерживают длинные пути, даже после отключения MAX_PATH. Убедитесь, что используемое ПО обновлено и совместимо с длинными путями (например, современные версии Проводника или PowerShell).
— Версии Windows: Функция доступна начиная с Windows 10 Anniversary Update (1607) и Windows Server 2016. В более ранних версиях (например, Windows 7 или 8.1) отключение MAX_PATH невозможно без сторонних инструментов.
— Влияние на систему: Отключение ограничения не влияет на стабильность системы, но требует перезагрузки для активации.
— Альтернативные методы: Если отключение MAX_PATH невозможно, используйте пути в формате UNC (например, \\?\C:\path\to\file) или утилиты, такие как Robocopy, которые обходят ограничение.
Рекомендации
— Перед изменением реестра создайте резервную копию:
reg export HKLM\SYSTEM\CurrentControlSet\Control\FileSystem C:\Backup\filesystem.reg
— В доменных средах применяйте настройку через Group Policy для централизованного управления:
1. Откройте gpmc.msc.
2. Создайте GPO и настройте политику Enable Win32 long paths.
3. Привяжите GPO к нужным OU.
— Используйте PowerShell для автоматизации настройки на нескольких компьютерах.
— Если приложение не поддерживает длинные пути, сократите вложенность папок или используйте символические ссылки (mklink).
Отключение ограничения пути в 260 символов в Windows 10 и Windows Server 2016 позволяет устранить ошибку “path too long” и работать с длинными путями в NTFS. Используйте Редактор групповых политик для профессиональных версий, реестр для домашних, или PowerShell для быстрого применения. После перезагрузки система и совместимые приложения смогут обрабатывать пути до 32 767 символов, что значительно упрощает управление файлами в сложных структурах каталогов.