Слишком длинный путь к источнику

Обновлено Обновлено: Опубликовано Опубликовано:

Описание

При попытке удалить или переместить файл, появляется ошибка:

Слишком длинный путь к источнику.
Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.

Причина

По умолчанию, операционная система Windows настроена на блокирование действий над файлами, путь к которым более 255 символов.

Решение

Способ 1. Уменьшаем путь до файла

Есть несколько способов сократить путь до нужной нам папки.

1. Переименовываем все папки, в которые вложен наш файл, на менее длинные названия. Когда путь сократится, можно выполнить удаление или перемещение.

2. Создаем символьную ссылку на конечный путь. Это можно сделать командой:

mklink /d c:\<короткий путь> c:\<длинный путь>

... например:

mklink /d "C:\Папка0" "C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5"

* в данном примере перейдя по пути C:\Папка0, мы окажемся в папке C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5.

3. Сопоставляем папку букве диска с помощью команды subst:

subst S: "C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5"

* в данном примере мы создадим диск S, который будет вести нас в папку C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5.

Способ 2. Включаем поддержку длинных файлов

Данный способ поддерживается, начиная с Windows 10 / Server 2016.

Ограничение в 255 символов — пережиток прошлого, необходимый для обеспечения совместимости с другими файловыми системами. Система не будет работать хуже, если данное ограничение отключить.

Открываем реестр (команда regedit) и переходим по пути HKLM\SYSTEM\CurrentControlSet\Control\FileSystem. Находим или создаем ключ LongPathsEnabled с типом REG_DWORD и задаем ему значение 1.

Это же действие из командной строки:

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1

* первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.

Способ 3. Far Manager

Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.

Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).

Способ 4. Укорачиваем сетевой путь

Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.

Например, это можно сделать командой:

net use J: \\server\share /persistent:yes

* данной командой мы создадим диск J, который будет вести на сетевую папку \\server\share.

В чем была проблема?

Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:

53.4%
30.1%
13.7%
2.7%
0%

# Windows
Дмитрий Моск — частный мастер
Помогла ли вам эта статья?

Да            Нет