Как удалить «неудаляемую» папку с длинным путём

Один раз у меня получилось так, что при восстановлении удаленных файлов у меня создалась на диске папка с путём превышающим 255 символов. Это ограничение файловой системы: путь не должен превышать более 255 символов или глубина пути файла больше 128 папок. И поэтому эта папка и файлы в ней никак не хотели удаляться. Решение пришло в голову не сразу, но всё-таки пришло, я решил подключить часть пути папки как виртуальный диск, через команду subst (для тех кто не знает как ей пользоваться: Пуск — Выполнить — subst /?) тем самым укоротив путь к конечной папке. Зашел в подключенный диск и удалил неудаляемую папку, всё получилось. То есть было примерно так:

Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_вложенной_папки_4\...
Я подключил вложенную папку 3 как виртуальный диск
subst x: Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\

Сегодня вот еще нашел решения данной проблемы на support.microsoft.com:

Решение 2. Переименование или изменение длины имени папки
Переименуйте папку, чтобы длина пути конечных файлов не превышала значение MAX_PATH. Начните этот процесс с корневой папки (или с другого удобного места) и переименуйте папки, укорачивая их имена. Если это не решит проблему (например, если глубина пути файла составляет более 128 папок), перейдите к решению 4.
Решение 3.Подключение диска к папке в структуре пути
Подключите диск к папке, входящей в структуру пути к целевому файлу или папке. Этот метод укорачивает виртуальный путь.

В качестве примера рассмотрим путь со следующей структурой:
\\имя_сервера\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_вложенной_папки_4\...
В этом пути общее количество символов превышает 255. Чтобы уменьшить его длину до 73 символов, подключите диск к вложенной папке 4.
Решение 4. Использование общего сетевого каталога, глубина которого равна глубине папки
Если решения 1, 2 и 3 не подходят или не устраняют проблему, создайте сетевой каталог с максимально возможной глубиной в дереве папок и затем переименуйте папки, открыв каталог.

http://support.microsoft.com/kb/320081/ru

Теги:

12 комментариев to “Как удалить «неудаляемую» папку с длинным путём”

  1. Akella Сказал:

    Ни один из способов не подходит. Тем более, что очень много таких файлов и папок пользователи насоздавали.

  2. admin Сказал:

    А поконкретней можете ситуацию описать?

  3. Лера Сказал:

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

  4. валера Сказал:

    надо переименовать все внутрение папки и частями перемищать и удалять

  5. Денис Сказал:

    Спасибо всё получилось а то я уже было их скрывать начал ))))

  6. kpdozer Сказал:

    Добавлю еще один метот хоть и не панацейный. Помогает когда дерево каталогов очень длинное.

    Создать cmd файл, прописать путь к папке которую следует удалить и запустить:

    :: Установки

    SET RDIR=L:\test

    :: Удаляем папки с диннющими путями (не поможет если вложенность более 255)

    FOR /R %RDIR% %%i IN (.) DO (

    FOR /R %RDIR% %%i IN (.) DO ren %%i «a»

    FOR /R %RDIR% %%i IN (.) DO rd /s /q %%i

    )

    pause

  7. kpdozer Сказал:

    в строке

    FOR /R %RDIR% %%i IN (.) DO ren %%i “a”

    кавычки набрать вручную, движок форума их заменил на свои.

  8. admin Сказал:

    спасибо за метод! Но таким навскидку трудно воспользоваться будет, в памяти держать...

  9. Akcen4ik Сказал:

    Я удаляю песни с длинными названиями таким образом: Открываешь общий доступ к ней + Изменение, захожу в сеть с планшета (на Андрюше) и переименовываю ее, потом все как обычно делаю с файлом или папкой... Вот и все

  10. Павел Сказал:

    Работает, но удаляет только если папка пуста. Та что придется предварительно этой же командой удалить все изнутри

    rd /s /q «\?D:test.......test test test test test test test test test test test finish»

  11. Mao_CzeDOOM Сказал:

    Прекрасно работает Решение №2. Называем все папки 1 и двигаемся по каталогам в файлу. Файл(ы) называем тоже 1 и выходит примерно так: 111111111.doc. Удаляем!

    Решение особенно актуально в связи перемещениями файлов в облачных сервисах.

  12. ЯЯЯ Сказал:

    Помогло:) Спасибо) Подключил папку через subst и выкинул этот файл)

Оставить комментарий