При попытке удалить или переместить файл, появляется ошибка:
Слишком длинный путь к источнику.Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.
По умолчанию, операционная система Windows настроена на блокирование действий над файлами, путь к которым более 255 символов.
Есть несколько способов сократить путь до нужной нам папки.
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.
Данный способ поддерживается, начиная с 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
* первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.
Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.
Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).
Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.
Например, это можно сделать командой:
net use J: \\server\share /persistent:yes
* данной командой мы создадим диск J, который будет вести на сетевую папку \\server\share.
Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies