Ошибка «Слишком длинный путь/имя файла» — как включить длинные пути в Windows 10/11 (2025)

Пытаетесь скопировать или удалить файл, а Windows пишет, что имя или путь слишком длинный. Это не «поломка», а ограничение старого формата путей. Решаем в пару шагов, без танцев с бубном.

Коротко

  • Включите поддержку длинных путей (LongPaths).
  • Сократите вложенность и длину имён.
  • Для сложных случаев используйте Robocopy и PowerShell.
Нужна помощь? Включу LongPaths, аккуратно перенесу/чищу проблемные папки и наведу порядок в структуре файлов.

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 и расчищу всё аккуратно.