удалить папку\файл с длинным именем

не могу удалить папку. при удалении выдает такое окошечко

а затем вот такое
пробовал удалить Unlocker`ом, он ссылается на то, что она удалится после перезагрузки компа. комп перезагружается, а папка остается. вирусов на компе нет
Лучший ответ
Заархивируйте папку с таким файлом, при настройках архивации поставьте галочку напротив строчки «удалить файл», затем жмите «архивировать», после этого появится только архивированная папка а старая удалится автоматически. теперь можете легко удалить архивированную папку.
AJIeKcaHDpУченик (149) 6 лет назад
Чувак ело говорит. Просто и удобно.
dsgdhnЗнаток (275) 5 лет назад
Мне помогло! Метод отличный:)
Герман из ГерманииУченик (103) 5 лет назад
Маршал82Профи (690) 5 лет назад
Спасибо огромное! Помогло
Андрей КраснощёковУченик (220) 5 лет назад
ПОМОГЛО. Только если оставить название вновь созданного архива таким же, то проблема решена не будет. ОБЯЗАТЕЛЬНО меняйте название создаваемого архива.
ave_mariaПрофи (847) 4 года назад
спасибоооооооооооооооо
ДашуткаУченик (207) 3 года назад
спасибо тебе, добрый человек)
Наталья ИгнатенкоЗнаток (360) 3 года назад
АкулаМастер (1142) 3 года назад
Действительно лучший ответ.
Дима РожковЗнаток (449) 1 год назад
Спасибо тебе Reanimator . =)
Аноним ИнкогнитовичНовичок (0) 7 месяцев назад
EokonskyЗнаток (489) 6 месяцев назад
Нина ЗариповаУченик (146) 1 месяц назад
Спасибо, добрый человек
Остальные ответы
Удаляй мимо корзины (Shift+Del)
Warlock94Мыслитель (5444) 11 лет назад
шифт-дел не помогает
Светлана РадецкаяЗнаток (260) 8 лет назад
спасибо, отлично помогает. тотал коммандер и шифт+дел
SamsonЗнаток (331) 7 лет назад
Помогло в командере
Нажми ПКМ по файлу — Выбери «Свойства» — «Безопасность» — Измени разрешения доступа
Warlock94Мыслитель (5444) 11 лет назад
бесполезно
Ринат . Мудрец (12151) Грит длинное имя файла — попробуй переименовать
А что мешает галочку поставить: выполнить это действие для всех текущих объектов?
АкулаМастер (1142) 3 года назад
Банальное отсутствие функций. Вы для начала изучите проблему, а не давайте пустые советы, сами не зная, советы на что даете.
Попробуйте изменить названия папок до файла, который не удаляется.
Начинать переименовывать следует с корня.
Например есть папка «с сайта», в ней еще 5 тапок и в последней файл с длинным названием, который собственно и не удаляется.
Путь к файлу на рабочем столе: C сайта/новая папка1/новая папка2/новая папка3/новая папка4/новая папка5/Файл с очень большим названием, который не удаляется. расширение
Должно получиться: 1/2/3/4/5/6/7.расшитение
Если не получится так, то удалить можно назначив папку виртуальным диском через командную строку.
Ирина БелаяУченик (135) 7 лет назад
отличное и простой решение проблемы! Помогло! спасибо))
а то все про назначение виртуальных дисков пишут.. пффф
зачем огород городить, когда можно вот так просто всё решить?
Ещё раз спасибо!))
АкулаМастер (1142) 3 года назад
Такие файлы нельзя переименовывать. Держу в курсе.
Djon_Pulse Знаток (404) Акула, да сам файл переименовать не получится, но можно переименовать родительские папки чтобы сократить количество символов в пути к файлу.
Чтобы удалить файл или закладку с слишком длинным именем нужно просто закрыть его папку до последней и открыть первую, переложить следующую на стол и на столе, открыв папку нажать «переименовывать» , сокращая имя папки до нескольких букв, хотя имя папки и так короткое и тут же «удалить» паку, содержащую файл или папки с файлом имеющим длинное имя, то есть удалять не файл, а содержащую его папку вместе с этим файлом, а то и содержащую несколько папок .
Фантамаска Фантомасова Ученик (100) 6 лет назад
Идеальное решение. Переложив первую на раб. стол, проблемная папка сразу дает себя переименовать. И не надо никаких программ ради этого скачивать)))
Анна ОрлянскаяУченик (122) 5 лет назад
Спасибо, вы мне очень помогли.
Тут всякую ерунду несете—Мне никак не получилось удалить неудаляемого гада ибо он был чертовски заблокирован и никакой программе не было по зубам КРОМЕ! КРОМЕ-UNLOCKER. Слава . UNLOCKER-у.
АкулаМастер (1142) 3 года назад
Значит совсем другая проблема была. А проблема у автора не в блокировке файла, а в длинном имени. Тут анлокер бессилен. Так что мимо кассы идите.
Слишком длинный путь к источнику

Обновлено: 14.03.2021 Опубликовано: 13.07.2017
Описание
При попытке удалить или переместить файл, появляется ошибка:
Слишком длинный путь к источнику.
Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.
Причина
По умолчанию, операционная система Windows настроена на блокирование действий над файлами в проводнике, путь к которым более 255 символов.
Решение
Способ 1. Уменьшаем путь до файла
Есть несколько способов сократить путь до нужной нам папки.
1. Переименовываем все папки, в которые вложен наш файл, на менее длинные названия. Когда путь сократится, можно выполнить удаление или перемещение.
2. Создаем символьную ссылку на конечный путь. Это можно сделать командой:
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.
Способ 5. Используем командную строку
Если нам нужно скопировать или перенести небольшое количество файлов, мы можем воспользоваться командной строкой. Для копирования используем xcopy, для переноса — move.
В чем была проблема?
Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:
* в процентах показаны результаты ответов других посетителей.
Как удалить файл с длиной пути более 260 символов

03.03.2021

itpro

Windows 8

комментария 3
Не секрет, что проводник Windows, как и большинство других Windows-приложений, включая PowerShell, не умеют работать с объектами файловой системы с глубокой вложенностью папок, длина пути к которым превышает 260 символов. Причем это ограничение существует только на уровне приложений, а сама файловая система NTFS поддерживает пути к файлам вплоть до 32767 символов.
Данное ограничение наложено библиотекой Win32 API, а которой максимальная длина пути составляет 260 символов (MAX_PATH=260). В общем случае путь формируется из следующих элементов: [C:\]+[путь_из_256_символов]+[], причем максимальная длина одного каталога/файла в NTFS — 255 символов в Unicode. При использовании юникодных функций API, возможно использовать путь до 32767 символов. Благодаря этому многие сторонние программы (те же популярные файловые менеджеры, например FAR и Total Commander) без каких-либо трудностей обрабатывает файлы/папки, длина пути к которым превышает 260 символов.
Совет. Обойти это ограничение Win32 API и работать с длинными именами файлов можно за счет использования UNC-формата пути, указывая абсолютный путь к файлу с использованием префикса extended-length path \\?\. Например, так \\?\C:\SomeLongPath\LongNameFile.txt
Это ограничение также не действует при сетевом доступе пользователей к файлам по протоколу SMB (за счет этого каталожные структуры с длинными путями нередкость именно на файловых серверах с пользовательскими данными). Администратор, обслуживающий данный сервер не может через стандартный интерфейс проводника Windows Explorer управлять (удалять/перемещать) файлы с длинными путями. При попытке создать/скопировать файл в такой каталог, появляется ошибка:
Destination Path Too Long. The file name (s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorten path

Другие программы/диалоговые окна могут сообщать о наличии ограничения по своему.
Согласитесь забавно, что за окном 2014 год, а мы до сих пор говорим об ограничении в 260 символов на максимальную длину пути в Windows… Но похоже в ближайшее время никаких кардинальных изменений не предвидится, и даже в совсем свежей Windows 10 Technical Preview это ограничение все еще существует.
В этой статье мы покажем, как в Windows можно работать с файлами, путь к которым превышает 260 символов. В данном кейсе наша задача – удалить каталог, содержащий файлы с большой длиной пути.
При попытке удалить такой каталог из проводника появляется ошибка:
The file name(s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorten path.

Powershell также не умеет корректно обрабатывать каталоги и файлы с большими путями, превышающими 260 символов. При попытке удалить каталог с такими файлами (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath) появляется ошибка:
Remove-Item .\verylongpath -Recurse
Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260

characters, and the directory name must be less than 248 characters.
At line:1 char:1
+ Remove-Item .\verylongpath -Recurse
+ $$$$$$$$$$$~~
+ CategoryInfo : WriteError: (C:\Install\MS S. it\verylongpath:String) [Remove-Item], PathTooLongExcepti
on
+ FullyQualifiedErrorId : RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
Самый простой вариант (он, собственно, и предлагается в окне с ошибкой) – сократить название родительских папок, уменьшив общую длину пути (но применимо не всегда).
Другой вариант – создать символическую ссылку на часть пути, укоротив тем самым общую длину пути:
mklink /d c:\install\link “C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath”
Далее файловые операции проводить с каталогом, на который назначена символьная ссылка.
Еще один вариант, напоминающий работу с символьной ссылкой — сопоставить проблемную папку виртуальному диску (в нашем примере X: ), тем самым также сократив длину пути:
Subst X: “C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath”
Теперь можно работать с данными на диске X:, пути к файлам в котором не будут превышать лимит. После окончания работы можно удалить виртуальный диск:
Subst X: /d
Но лично мне больше всего для задачи удаления данных в таких ситуациях нравится возможности robocopy.exe, которая поддерживает работу с длинными путями.
С помощью опции /MIR, утилита robocopy может создать полную копию (зеркало) исходного каталога в целевом. И, если исходная папка пустая, все данные в целевой папке также очищаются. Создадим пустую папку C:\Install\test и с помощью аргумента /MIR выполним копирование содержимое тестовой папки в целевую (если имя папки содержит пробелы или кириллические символы, путь нужно взять в кавычки).
robocopy /MIR C:\Install\test "C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath"


После выполнения команды содержимое каталога C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath очищается (заменятся содержимым пустого каталога).
Итак, сегодня мы показали несколько простых трюков, которые можно использовать при работе с папками на файловых серверах, содержащих папки, длина пути к которым превышает лимит 260 символов.
Предыдущая статья Следующая статья
Как удалить файлы и папки с длинными именами.

Многие пользователь сталкиваются с ситуацией, когда при удалении файла или папки Windows жалуется на то, что у объекта слишком длинное имя и удаление или копирование невозможно. Дело в том, что файловые системы FAT32 и NTFS имеют ограничение на

суммарную длину имён вложенных папок и файлов в 260 символов. То есть если у вас есть длинный путь из папок вложенных как матрешки одна в другую и количество символов в именах папок и нужного файла, начиная от корневой папки, превысит 260, то папка или файл будут недоступны для удаления, переименования, копирования. Поэтому невозможно также и переименовать файл или папку, которая в дереве папок находится за суммарным пределом 260 символов в именах.
Есть очень простой способ решения этой проблемы. Таких способов существует несколько, но этот самый простой и легкий. Нужно отметить, что данный способ не всегда срабатывает, но обычно его в большинстве случаев достаточно.
Итак, нужно просто укорачивать имена папок, начиная с корневой папки. Я обычно делаю это цифрами. Если одна папка в папке, то именую цифрой 1, если две, то 1 и 2 и так далее. Иногда достаточно переименовать одну или несколько папок. Обычно папки и файлы с такими длинными именами закачиваются из интернета, поскольку на серверах нет таких ограничений на имена. Также вполне возможно создание такой ситуации и на локальном компьютере. Как ни странно при создании файлов и папок Windows длину суммарного количества символов имён не ограничивает.

Поделитесь этим постом с друзьями:
Добавь меня в друзья:
Еще по этой теме .
Один комментарий
Эээээ… утверждение неверно. Создай для опыта такой вот .cmd файл:
Set MyFolder=»D:\Имя папки длиной 244 символа -0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123″
MkDir %MyFolder%
Echo Test! >> %MyFolder%\01234567890 Запусти! Теперь зайди в созданную папку (откуда угодно — из Проводника, из Far / Total Commander, из своей собственной оболочки) и попытайся создать хоть какую-то папку! Нихрена не получится! :))
Итак, максимальная длина имени папки — 244 символа, попытаешься больше — получишь: «Имя файла или его расширение имеет слишком большую длину».
Внутри этой папки нельзя создавать подпапки (даже однобуквенные!), но можно создать файл, у которого Имя + Расширение Суммарно получается: 244 + 11 = 255 символов — открываем windows.h и видим: #define MAXPATH 256 — вах-вах-вах! Какие молодцы Мелкомягкие, не обманули на этот раз
Мораль: в программах под Windows для хранения имён файлов / путей для задания размера используем MAXPATH (например: char FileName[MAXPATH]) и надеемся, что в наследнице Vista — Windows 7 Vienna (или в Longhorn) MAXPATH будет увеличиваться пропорционально увеличению возможностей файловой системы ОС.