Папка не пуста 0x80070091 при удалении папки — причины и решения

Как исправить ошибку Папка не пуста при удалении папкиПри удалении или других действиях с папкой в Windows 11/10 вы можете получить сообщение о непредвиденной ошибке 0x80070091 «Папка не пуста», кнопка «Повторить попытку» обычно не приводит к какому-либо результату.

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

Разрешения и ошибки файловой системы

Пример сообщения об ошибке 0x80070091 Папка не пуста

Две основные причины появления ошибки 0x80070091 при удалении папки — ошибки файловой системы или изменение разрешений (прав доступа) к элементам внутри папки или во вложенных папках.

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

При этом в свойствах папки, которая не удаляется, вы можете увидеть в том числе и следующую картину: размер 0 байт, содержит 0 файлов и 0 папок (но это не обязательно):

Пример папки размером 0 байт, которая не удаляется

Причина будет та же самая: при фактическом наличии элементов внутри папки вы не можете получить их список.

Примечание: если вы получаете сообщение об ошибке при использовании команд rd или rmdir в командной строке, просто добавьте параметры /S /Q при удалении, например:

rd /S /Q "C:\remontka.pro"

Удаление папки

Прежде чем приступить, рекомендую выполнить проверку файловой системы на диске, в случаях, когда именно ошибки ФС стали причиной «поломки» разрешений, этого может быть достаточно:

  1. Запустите командную строку от имени администратора.
  2. Введите команду (в примере проверяется диск D, в вашем случае нужно использовать ту букву диска, на котором находится папка):
    chkdsk D: /f
    и нажмите Enter. Если проверяется системный раздел диска потребуется выполнить перезагрузку компьютера.
  3. Дождитесь завершения проверки и проверьте, появляется ли рассматриваемая ошибка при удалении или иных действиях снова.

Следующий метод — принудительная установка нужных разрешений и полное удаление папки (важно: в результате она удаляется не в корзину):

  1. Запустите командную строку от имени администратора.
  2. По порядку введите команды
    takeown /F "путь_к_папке" /R /D Y
    icacls "путь_к_папке" /grant "%username%":F /T /C /Q
    rd /S /Q "путь_к_папке"
  3. В результате папка и всё её содержимое будут полностью удалены.

Другие варианты действий:

  • Использовать специальные программы, позволяющие стать владельцем папки/файла, стать владельцем (эти же программы обычно предоставляют вашему пользователю полные права доступа) и удалить папку.
  • Использовать вкладку «Безопасность» в свойствах папки, кнопку «Дополнительно» и настроить список разрешений для папки и вложенных (дочерних) объектов таким образом, чтобы у вашего пользователя был полный доступ к ним (пример на скриншоте ниже). При этом убедиться, что отсутствуют дублирующие элементы с типом «Запретить» для тех же субъектов, при их наличии — использовать кнопку удалить. Также может потребоваться отключить наследование для текущей папки. Пример полных прав доступа для пользователя к папке
  • Использовать WinPE для удаления таких папок: загрузиться с флешки, например, с WinPE от Sergei Strelec и удалить её: в большинстве случаев, при отсутствии проблем с диском, всё проходит успешно.

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

  1. Нажмите по неудаляемой папке правой кнопкой мыши, выберите «Свойства», перейдите на вкладку «Безопасность» и нажмите кнопку «Дополнительно».
  2. Если владелец папки отличается от текущего пользователя, при этом папка не является системной, нажмите «Изменить», затем «Дополнительно» — «Поиск», выберите свое имя в списке пользователей, «Ок», «Ок», отметьте опцию «Заменить владельца подконтейнеров и объектов», примените изменения.
  3. Если в списке «Элементы разрешений» присутствуют пункт «Запретить», удалите их (выбрать и нажать кнопку «Удалить»). Если какие-то из элементов разрешений также запрещают действия и запрет унаследован от элемента уровнем выше (столбец «Унаследовано от»), используйте кнопку «Отключение наследования» для возможности их удаления или изменения.
  4. Используйте кнопку «Изменить», если требуется изменить параметры доступа для определенного элемента разрешений. Ключевые для рассматриваемого случая — «Пользователи» и «Администраторы» (также должно быть разрешение на «Изменение» для группы «Прошедшие проверку»). Исправление разрешений для папки
  5. После настройки нужных разрешений отметьте опцию «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта» и нажмите «Ок».

Если всё было сделано верно, папку можно будет удалить в Проводнике Windows 11/10.

На сайте также присутствует отдельный материал: Как удалить файл, которые не удаляется — он содержит дополнительную информацию и методы, которые могут также пригодиться и для удаления папок.

Однако, для ошибки 0x80070091 «Папка не пуста» самым действенным обычно оказывается вариант с проверкой файловой системы и описанным выше методом удаления в командной строке.

Комментарии (1) к Папка не пуста 0x80070091 при удалении папки — причины и решения

  • Олег

    Отличная статья! Благодарю автора от всей души! Все сработало!

    Ответить

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

Интересное
Новое
Список инструкций Windows 11 Windows 10 Подписаться