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

Один раз у меня получилось так, что при восстановлении удаленных файлов у меня создалась на диске папка с путём превышающим 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

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

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

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

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

  4. Добавлю еще один метот хоть и не панацейный. Помогает когда дерево каталогов очень длинное.
    Создать 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

  5. в строке
    FOR /R %RDIR% %%i IN (.) DO ren %%i “a”
    кавычки набрать вручную, движок форума их заменил на свои.

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

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

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

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

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

  10. Не как не мог удалить, вручную, программами, cmd, в итоге отчаявшись, нажал удалить при помощи TeraCopy и о слава! помогла, неожиданно однако.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *