Удаление папки и файлов рекурсивно на C#
Эта короткая заметка о том, как удалить папку и всё ее содержимое рекурсивно. Т.е. если в удаляемом каталоге есть подкаталоги и файлы и в них есть еще подкаталоги с файлами и т.д., все они будут удалены, таким образом будет удалена папка и всё, что в ней содержится.
Способ 1. Удаление каталога методом Delete
Здесь всё просто, нужно лишь второй параметр метода Delete указать равным true
Directory.Delete(folder, true);
folder — соответственно удаляемый каталог, а второй параметр команды говорит о том, что нужно удалить все вложенные каталоги и файлы рекурсивно.
Так же можно обработать исключения, чтобы получить более подробную информацию при неудаче удаления
try < Directory.Delete(folder, true); >catch (DirectoryNotFoundException ex) < Console.WriteLine("Директория не найдена. Ошибка: " + ex.Message); >catch (UnauthorizedAccessException ex) < Console.WriteLine("Отсутствует доступ. Ошибка: " + ex.Message); >catch (Exception ex)
Более подробно о методе Delete можете почитать на docs.microsoft.com
Способ 2. Удаление каталога рекурсивной процедурой
private void deleteFolder(string folder) < try < DirectoryInfo di = new DirectoryInfo(folder); DirectoryInfo[] diA = di.GetDirectories(); FileInfo[] fi = di.GetFiles(); foreach (FileInfo f in fi) < f.Delete(); >foreach (DirectoryInfo df in diA) < deleteFolder(df.FullName); >if (di.GetDirectories().Length == 0 && di.GetFiles().Length == 0) di.Delete(); > catch (Exception ex) < Console.WriteLine("Произошла ошибка: " + ex.Message); >>
Этот способ может пригодиться, если, например, в процессе удаления нужно делать что-то еще, например, писать лог-файл того, что удаляется.
Удаление папки
Вы можете удалить любую папку, созданную в области папок. Помните, что при удалении папки также удаляются все ее данные.
Примечание: Если вы считаете, что эта папка (и ее содержимое) может потребоваться позже, перед удалением перед удалением заложите ее в файл данных.
- Щелкните правой кнопкой мыши папку, которая вы хотите удалить, и выберите удалить папку.

- Нажмите кнопку Да, чтобы переместить папку и ее содержимое в папку «Удаленные».
При удалении папки «Удаленные» все ее элементы, включая удаленные папки, окончательно удаляются.
Примечание: Встроенные папки, такие как «Входящие», «Из папки «Входящие» и «Отправленные», удалить нельзя.
Как удалить файл или папку, которые не удаляются, защищены от записи или к ним отсутствует доступ?
Вы не можете полностью удалить папку или несколько файлов с компьютера или ноутбука? Windows выдает сообщение об ошибке доступа? Это может происходить по самым разнообразным причинам во время удаления, редактирования или перезаписи файлов. Читайте, как удалить файл или папку, которые не удаляются по причине защиты от записи, отсутствия доступа, заражения вирусом или открытия файла в неизвестной программе.

Перейти к просмотру

- Диск защищен от записи
- Не удалось найти этот элемент
- Отсутствие прав на изменение файлов
- Файл или папка не может быть удалена так, как открыта в другой программе
- Вопросы и ответы
- Комментарии
Диск защищен от записи
Если при попытке удаления файла или папки с флешки, карты памяти или жесткого диска вы получаете сообщение: «Диск защищен от записи» (The disk is write-protected), то на него установлена защита от записи.

О том, как разблокировать защищенную от записи флешку, карту памяти или жесткий диск у нас есть отдельная статья. Тема довольно обширная. Поэтому, ознакомиться с ней вы можете перейдя к статье по данной ссылке: Как разблокировать защищенную от записи флешку, карту памяти или жесткий диск в Windows 10, 8, 7.
Или посмотрев отдельное видео.
Перейти к просмотру

Не удалось найти этот элемент
Если во время удаления файла или папки вы получаете сообщение: «Не удалось найти этот элемент. Проверьте расположение этого элемента и повторите попытку», то причин его возникновения может быть несколько:
- Сбой в системе (глюк с правами на удаляемый файл или папку; проблема с именем папки или файла: оно может быть как слишком длинное, так и содержать в себе некоторые символы, с которыми система конфликтует при удалении, и т.д.)
- Компьютер заражен вирусом.

В такой ситуации, для удаления файла или папки, которые выдают ошибку, попробуйте использовать такие утилиты как:


Если использование указанных выше программ не принесло желаемого результата, то загрузите систему в безопасном режиме и попробуйте удалить нужный файл или папку из-под него. Если причиной блокировки будет вирус, то в большинстве случаев вы сможете удалить файлы без каких-либо дополнительных действий.

Отсутствие прав на изменение файлов
Если Windows выдает сообщение об отсутствии прав на изменение файлов, то чтобы удалить или изменить данный файл, используемая учётная запись должна обладать правами администратора. Загрузитесь под учетной записью администратора компьютера. Иначе никак…


Файл или папка не может быть удалена так, как открыта в другой программе
Если Windows выдает сообщение о том, что файл или папка не может быть удалена так, как открыта в другой программе, то запомните название программы и выполните следующие действия:

- Нажмите сочетание клавиш «Windows + r».
- В окне выполнить введите resmon.exe и нажмите Enter.


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

Автор: Andrey Mareev, Технический писатель
В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Редактор: Michael Miroshnichenko, Технический писатель
Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.
- Обновлено:
- 14.10.2023 14:46
Как удалить неудаляемые папки и файлы с компьютера
Пытаетесь удалить ненужную папку, но Windows не дает это сделать? Появляется сообщение, что процесс занят, папка используется другим приложением и прочие причины, устранить которые не получается. Почему это происходит и как удалить папку которая не удаляется? Давайте разберёмся.

Любую неудаляемую папку можно удалить!
Почему папка или файл не удаляются?
Причин, из-за которых операционка не позволяет стереть папку с компьютера или ноутбука, может быть много. Некоторые устраняются легко, другие требуют серьёзных мер. Давайте рассмотрим наиболее распространённые проблемы:
- Файл задействован в работе другой программы. Например, вы безуспешно пытались отредактировать фотографию в редакторе, а потом решили удалить неудачный снимок. Если он всё ещё открыт в программе, Windows не даст разрешения на это действие, так как удаление используемого файла может вызвать сбой.
- Файл используется системой. Причина, аналогичная предыдущей, только данные не удаляются, потому что задействованы в процессах самой Windows.
- В систему проник вирус. Зараженные файлы могут препятствовать удалению их с компьютера.
- Требуются права администратора. Некоторые файлы невозможно удалить, если был выполнен вход в систему с учетной записи обычного пользователя, не имеющего необходимых прав.
- Удалению может мешать некорректное закрытие программы, в которой файл был открыт.
- Файл используется другим юзером. Данное сообщение означает, что кто-то открыл папку на другом компьютере по локальной сети. Уверены, что подобное невозможно? Значит, произошёл сбой системы.
- Папка не пуста. Не видите внутри никаких данных? Возможно в папке остались скрытые файлы, которые не посмотреть при текущих настройках или уровне доступа.
- Блокировка антивирусом. Если подозрительный файл был помещён в карантин или ждёт отсроченного лечения, антивирусная программа может не позволить его удалить.
Если вашего случая нет в приведённом выше списке, не отчаивайтесь. Ниже расположен перечень действий, которые необходимо предпринять, чтобы избавиться от ненужной папки.
12 способов удаления неудаляемых папок и файлов
Итак, безопасно удалить неудаляемую папку можно несколькими способами. Начнём с наиболее простых и универсальных, которыми следует воспользоваться в первую очередь, а закончим частными случаями.
1. Перезагрузка
В любой непонятной ситуации жмите Reset. Это, конечно, шутка, но c определённой долей правды. Перезагрузка системы завершит все текущие процессы, включая те, которые мешали удалению папки. После того, как Виндовс снова запустится, попробуйте ещё раз стереть нежелательный элемент.

Перезагрузка — простой способ завершить все задачи ПК
Перезагрузка кнопкой «Reset» – крайняя мера, которая подходит, если система зависла и не отвечает на какие-либо действия со стороны пользователя. Злоупотреблять данным методом не стоит, компьютер следует перезагружать корректно через меню «Пуск».
2. Безопасный режим
Данный способ эффективен, если не удаётся стереть файл из-за заражения вирусом. В безопасном режиме вредоносное ПО не сможет совершать защитных действий, а значит, не будет препятствовать удалению.
Чтобы вызвать безопасный режим, во время запуска компьютера до старта загрузки Windows нужно прожать F8. Появится список, где можно выбрать желаемый вариант загрузки. Указав безопасный режим, дождитесь, пока загрузится операционная система. Не пугайтесь необычного внешнего вида, это нормально.

Безопасный режим не позволит вирусам защититься от удаления
Безопасный режим спасёт в случае сбоев – откатит систему к рабочему состоянию или, если нас интересует устранение неудаляемых папок, даст стереть заражённые объекты. Выполните удаление, а потом запустите Виндовс в обычном режиме.
3. Манипуляции с файлом
Иногда справиться с проблемой нестираемых документов позволяют следующие действия:

- переименуйте файл,
- уберите атрибуты «только чтение», «скрытый», «архивный» в свойствах объекта, если установлен один из них,
- перенесите папку на съёмный носитель и попробуйте удалить оттуда.
Уберите галочку «скрытый»
4. Файловые менеджеры
Для данного способа потребуется скачать дополнительное ПО. Например, подойдёт популярный Total Commander. Он способен видеть скрытые файлы, а также обходить запреты системы на удаление.
После установки файлового менеджера нужно найти в списке объект и устранить его. Заметили в неудаляемой папке скрытый элемент, который препятствует удалению? Остановите его деятельность через Диспетчер задач. Найдите там название данного файла среди процессов и завершите его работу. После этого папка должна удалиться.

Total Commander поможет обнаружить скрытые файлы
5. Программа Unlocker
Ещё один вариант софта, позволяющего удалять неудаляемое – Unlocker. Если вы решили установить программу на Windows 7 или Windows 10, скачивайте её с официального сайта, в противном случае вместо решения одной проблемы заимеете букет новых. Для однократного применения можно не устанавливать софт, а воспользоваться портативной версией.
Программа Unlocker обнаружит процессы, препятствующие удалению объектов, и предложит разные варианты дальнейших действий: удаление, разблокировка, перенос. Просто выберите желаемый пункт.

Unlocker позволит разблокировать или сразу удалить папки
6. Через автозагрузку
Возможно, стереть файл не получается, потому что он запускается вместе с операционной системой. Следовательно, нужно отключить автозапуск. В различных версиях Виндовс данные настройки располагаются в разных местах. Чтобы упростить себе поиск, можно воспользоваться специальной программой Ускоритель Компьютера. Она даёт простой и удобный доступ к списку автозагрузки и позволяет им управлять прямо из меню софта. Помимо этого Ускоритель может оптимизировать реестр, обнаружить и исправить ошибки системы, найти и удалить дубликаты файлов для очистки памяти ПК.

Настройка автозапуска в Ускорителе Компьютера
Чтобы убрать программу из автозапуска, найдите её в списке и снимите галочку. Перезагрузите ПК и спокойно удалите папку.
7. Настройки доступа
Когда удаление недоступно из-за закрытого доступа, например, если папка находится на рабочем компьютере, где у вас нет прав администратора, можно попробовать следующий метод. Кликните правой кнопкой мыши по файлу и выберите «Свойства». В разделе «Безопасность» укажите пункт «Дополнительно». Выберите нужное имя, измените разрешение на полный доступ и вновь попробуйте стереть неудаляемый объект.

Дайте полный доступ вашей учеткой записи
8. Программы-деинсталляторы
Данное решение пригодится, если какой-то установленный софт оставил после себя неприятные следы, которые просто так не стереть. Специальные приложения позволяют удалять ненужные программы с компьютера, полностью устраняя остатки их жизнедеятельности. Вышеупомянутый Ускоритель Компьютера – пример такой программы. В окне появится аккуратно организованный список установленного софта, откуда одним кликом легко деинсталлировать любое ПО.

Удалите ненужный софт с помощью Ускорителя Компьютера
9. Закрытие программ, использующих файл
Этот пункт становится актуальным, когда при попытке удаления объекта появляется системное сообщение, что файл используется другой программой, а перезагружать систему нельзя.
Обычно достаточно выключить программу, и объект стирается без проблем. Не получается? Возможно, ПО стало работать в фоновом режиме. Чтобы прекратить его деятельность, следует зайти в Диспетчер задач, найти название приложения и нажать «Снять задачу». Теперь снова попытайтесь удалить неудаляемый файл.

Остановите процесс через Диспетчер задач
10. Восстановление системы
Если ничего не помогает, возможно, возникла серьёзная ошибка. Откатите систему назад к рабочему состоянию. Для этого зайдите в Панель управления Windows и в строке поиска введите «Восстановление». В найденном выберите опцию «Восстановление -> Запуск восстановления системы». Уточните точку, к которой необходимо выполнить откат Windows. После восстановления снова попробуйте удалить объект.

Выполните восстановление системы
11. Через другую ОС
Более сложный способ и требует отдельной операционки. Например, можно загрузить другую систему с флэшки, через неё зайти на жесткий диск компьютера и удалить нежелательный файл.
12. Форматирование
Если ни один из перечисленных методов не сработал, можно прибегнуть к радикальному решению – форматирование диска или флэшки. Оно очищает носитель от всех данных без возможности восстановления.
Если решите выполнить форматирование жесткого диска, обязательно убедитесь, что очищается не тот диск, где установлена операционная система Windows. Кроме того, тщательно проверьте что на форматируемом носителе нет важной информации, так как все данные будут удалены безвозвратно.
Чтобы выполнить процедуру, нужно открыть папку «Мой компьютер» (или «Этот компьютер» в Windows 10) и кликнуть правой кнопкой по ярлыку диска или флэшки. В списке выберите пункт «Форматирование».
Второй способ выполнения форматирования – через командную строку. В виндовс 10 её легко вызвать, нажав правой кнопкой мыши на «Пуск» и выбрав пункт «Windows PowerShell».
В строке нужно будет ввести следующий текст: «format d: /fs:fat32 /q». Вы можете выбрать другой диск, например, «format f:» и т.п. После того, как операция будет выполнена, никаких папок и файлов там не останется.

Отформатируйте жесткий диск
Заключение
Надеемся, что статья помогла разобраться, как удалить файл который не удаляется. Хотите обезопасить себя на будущее от подобных проблем? Регулярно проверяйте компьютер на наличие ошибок, чистите от ненужных программ, удаляйте мусорные файлы и контролируйте список автозагрузки. Делать всё это сразу можно в удобной программе Ускоритель Компьютера. Позаботьтесь о своём ПК и забудьте о проблемах с системой.
Освободите место и ускорьте работу системы
Скачайте Ускоритель Компьютера прямо сейчас!