Windows может отказаться открывать, сохранять или перемещать файл, если его полный путь оказался длиннее примерно 260 символов. На сохранившееся ограничение MAX_PATH обратило внимание издание MakeUseOf; Microsoft описывает тот же лимит в документации для разработчиков.
Путь — это полный адрес файла: буква диска, названия всех вложенных папок, имя файла, расширение, пробелы и разделители. Поэтому проблема чаще проявляется в глубокой структуре каталогов. Дополнительные символы появляются и после синхронизации с OneDrive, когда к адресу добавляются имя пользователя, название облачной папки и организации.
Сообщение об ошибке не всегда прямо указывает на длину пути. По документации Microsoft, превышение поддерживаемого приложением лимита может помешать файлу синхронизироваться, открываться, перемещаться или переименовываться. Иногда Windows сообщает, что файл или папка заняты другой программой, хотя фактическая причина — слишком длинный адрес.
Читайте также
Ограничение связано не с возможностями файловой системы, а со старыми функциями Windows, рассчитанными на MAX_PATH. Более новые системные функции способны работать с путями длиной примерно до 32 тысяч символов. При этом имя одной папки или файла ограничено отдельно и обычно не может превышать 255 символов.
Microsoft добавила поддержку длинных путей в Windows 10 версии 1607. Режим можно включить через параметр Enable Win32 long paths в групповых политиках или соответствующую настройку реестра Windows. После изменения может потребоваться перезагрузка компьютера.
Это не универсальное исправление: разработчик программы должен отдельно заявить поддержку длинных путей. Старое приложение может продолжить выдавать ошибку даже после изменения системной настройки. Чтобы открыть нужный файл сразу, Microsoft рекомендует сократить названия папок и файла либо переместить его ближе к корню диска. Полную длину можно проверить, скопировав адрес из Проводника в текстовый редактор и посчитав все символы вместе с именем файла.
