Ошибка «Слишком длинный путь/имя файла» — как включить длинные пути в Windows 10/11 (2025)
Пытаетесь скопировать или удалить файл, а Windows пишет, что имя или путь слишком длинный. Это не «поломка», а ограничение старого формата путей. Решаем в пару шагов, без танцев с бубном.
Коротко
- Включите поддержку длинных путей (LongPaths).
- Сократите вложенность и длину имён.
- Для сложных случаев используйте Robocopy и PowerShell.
1) Включаем длинные пути
Способ через реестр. Подходит всем редакциям Windows.
CMD (Администратор) — вставьте блок целиком:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
shutdown /r /t 5
Альтернативно через политику (Pro/Enterprise): «gpedit.msc → Конфигурация компьютера → Административные шаблоны → Система → Файловая система → Включить длинные пути Win32» — включите параметр.
2) Сокращаем путь до разумного
- Переместите глубокую папку ближе к корню, например, из
C:\Users\Имя\Documents\Очень_длинная_структура\...\Файл.txtвC:\Temp\Файл.txt. - Переименуйте папки и файлы короче. Временные названия подойдут:
Папка1,Проект1. - Архивы .zip/.7z можно распаковывать с опцией «Сократить имена путей» в 7‑Zip (скачивайте только с оф. сайта 7-zip.org).
3) Используем инструменты, которые «не боятся» длины
CMD (Администратор) — по одной команде:
robocopy "C:\Очень_длинный\путь" "C:\Коротко" /e /move
robocopy "C:\Источник" "D:\Назначение" /e /r:0 /w:0 /copy:DAT
PowerShell (Администратор) — вставьте блок целиком:
$src = "C:\Очень_длинный\путь"
$dst = "C:\Коротко"
New-Item -ItemType Directory -Path $dst -Force | Out-Null
Get-ChildItem -LiteralPath $src -Recurse | Move-Item -Destination $dst -Force -ErrorAction Continue
Эти команды переносят содержимое в место с коротким путём, после чего уже легко удалить пустые «хвосты».
4) Удаляем «неудаляемое»
CMD (Администратор) — по одной команде:
rd /s /q "C:\Очень_длинный\путь"
del /f /q "\\?\C:\Очень_длинный\путь\Очень_длинный_файл.txt"
Префикс \\?\ включает «длинные» операции в старых API.
FAQ
Включил LongPaths, а ошибка осталась.
Перезагрузитесь. Если программа использует старые функции без поддержки длинных путей — действуйте через Robocopy/PowerShell.
Ошибки при распаковке архива.
Распакуйте в C:\ или D:\ напрямую, или временно сократите название архива/папок.
Можно ли просто «урезать» путь программно?
Нет универсальной кнопки. Помогает перенос ближе к корню и короткие имена.
Читайте также:
Когда к мастеру
Если структура слишком запутанная и команды пугают — подключусь удалённо, включу LongPaths и расчищу всё аккуратно.