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

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

Причина будет та же самая: при фактическом наличии элементов внутри папки вы не можете получить их список.
Примечание: если вы получаете сообщение об ошибке при использовании команд rd или rmdir в командной строке, просто добавьте параметры /S /Q при удалении, например:
rd /S /Q "C:\remontka.pro"
Удаление папки
Прежде чем приступить, рекомендую выполнить проверку файловой системы на диске, в случаях, когда именно ошибки ФС стали причиной «поломки» разрешений, этого может быть достаточно:
- Запустите командную строку от имени администратора.
- Введите команду (в примере проверяется диск D, в вашем случае нужно использовать ту букву диска, на котором находится папка):
chkdsk D: /f
и нажмите Enter. Если проверяется системный раздел диска потребуется выполнить перезагрузку компьютера. - Дождитесь завершения проверки и проверьте, появляется ли рассматриваемая ошибка при удалении или иных действиях снова.
Следующий метод — принудительная установка нужных разрешений и полное удаление папки (важно: в результате она удаляется не в корзину):
- Запустите командную строку от имени администратора.
- По порядку введите команды
takeown /F "путь_к_папке" /R /D Y icacls "путь_к_папке" /grant "%username%":F /T /C /Q rd /S /Q "путь_к_папке"
- В результате папка и всё её содержимое будут полностью удалены.
Другие варианты действий:
- Использовать специальные программы, позволяющие стать владельцем папки/файла, стать владельцем (эти же программы обычно предоставляют вашему пользователю полные права доступа) и удалить папку.
- Использовать вкладку «Безопасность» в свойствах папки, кнопку «Дополнительно» и настроить список разрешений для папки и вложенных (дочерних) объектов таким образом, чтобы у вашего пользователя был полный доступ к ним (пример на скриншоте ниже). При этом убедиться, что отсутствуют дублирующие элементы с типом «Запретить» для тех же субъектов, при их наличии — использовать кнопку удалить. Также может потребоваться отключить наследование для текущей папки.

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

- После настройки нужных разрешений отметьте опцию «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта» и нажмите «Ок».
Если всё было сделано верно, папку можно будет удалить в Проводнике Windows 11/10.
На сайте также присутствует отдельный материал: Как удалить файл, которые не удаляется — он содержит дополнительную информацию и методы, которые могут также пригодиться и для удаления папок.
Однако, для ошибки 0x80070091 «Папка не пуста» самым действенным обычно оказывается вариант с проверкой файловой системы и описанным выше методом удаления в командной строке.


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