11 июня 2009 г.

Как удалить неудаляемый файл или папку с очень длинным путем или с проблемами в имени?

 

Время от времени встречается ситуация, когда нужно удалить файл или папку, но при этом возникает ошибка. Это возможно как при локальном удалении так и при сетевом.

Есть много способов побороть такую ситуацию и они зависят от причин подобной проблемы.

Проблема связана с очень длинным путем, т.е. более чем 260 символов или с именем файла или папки

  • Самый удобный и универсальный способ связан с моим любимым FAR. Просто выделяю папку или файл и нажимаю Alt + Del. Это команда "Уничтожить файл" (wipe the file). Для этого нужен FAR не ниже версии 1.70 beta 3
  • еще можно удалять через имена 8.3. Для этого делаю вначале dir /x, ну а затем del /f /s /q short_folder_name

Остальные причины связаны с доступами, использованием служебных имен и т.д. Способы борьбы подробно описаны в статье базы знаний Microsoft.

4 комментария:

  1. far помог спасибо.

    ОтветитьУдалить
  2. FAR 3.0 справился "без танцев с бубнами"!!!!!!!!!!!!!!!

    ОтветитьУдалить
  3. К сожалению, данный способ не совсем подходит.
    Нужно делать поиск в директории папок, старше n-дней и затем их удалять. А в них есть длинные пути. Пока корректно с этой задачей не справился (

    ОтветитьУдалить
    Ответы
    1. Потенциальные варианты:
      - работа с именами 8.3
      - рекурсивно заходить в нужную папку по дереву по одному уровню за раз и удаление по относительному пути

      Удалить