错误 0x80070091 表示系统误判目录非空,主因是元数据异常、路径过长或句柄占用;可依次尝试新建文件触发重扫、robocopy镜像清空、管理员powershell强制删除、安全软件粉碎、压缩后删源、或chkdsk+dism修复。

如果您在 Windows 10 或 Windows 11 中尝试删除某个文件夹时,系统提示“错误 0x80070091:目录不是空的”,则该错误通常由文件系统元数据异常、路径过长、隐藏句柄占用、NTFS 特殊条目(如“.”或“..”)、或深层嵌套结构导致。以下是多种可立即执行的修复方法:
一、在最深层子文件夹中新建任意文件
此操作可触发系统重新扫描并更新该路径下所有子项的引用状态,从而修正“非空”误判。
1、打开文件资源管理器,定位到无法删除的目标文件夹。
2、逐层双击进入其子文件夹,直至抵达无任何子文件夹的最底层目录。
3、在该最底层文件夹空白处右键 → “新建” → “文本文档”,命名为 temp.txt。
4、关闭所有窗口,返回上一级,再次尝试右键删除原始目标文件夹。
二、使用 Robocopy 镜像空目录覆盖目标文件夹
Robocopy 的 /MIR 参数会强制将源目录的“空”状态同步至目标目录,实质清除全部内容及子结构。
1、在目标文件夹所在磁盘根目录(如 D:\)下新建一个名为 Empty 的空白文件夹。
2、按 Win + R 键,输入 cmd 并回车,以普通权限启动命令提示符。
3、输入命令:cd /d D:\(请将 D:\ 替换为实际所在路径)。
4、执行镜像命令:robocopy "Empty" "BadFolder" /MIR(其中 BadFolder 为目标文件夹名)。
5、等待输出显示 “已复制: 0” 及 “直通次数: 0” 后,关闭窗口并尝试删除原文件夹。
三、通过管理员 PowerShell 执行强制删除命令
利用 \?\ 前缀绕过 Windows 路径长度限制与命名空间校验,直接调用底层 NT 删除接口。
1、按 Win + R,输入 powershell,再按 Ctrl + Shift + Enter 以管理员身份运行。
2、在弹出的 PowerShell 窗口中,粘贴并执行以下命令(请将路径替换为您的实际路径):CMD /C "RD /S /Q \?\D:\BadFolder"。
3、若提示权限不足,先执行:takeown /f "D:\BadFolder" /r /d y & icacls "D:\BadFolder" /grant administrators:F /t,再重试上一步命令。
四、使用安全软件的文件粉碎功能
火绒安全、卡巴斯基、Malwarebytes 等工具内置的粉碎模块具备绕过 Windows 句柄锁定和回收站机制的能力,可直接向磁盘发送擦除指令。
1、启动已安装的安全软件主界面。
2、导航至“工具箱” → “文件粉碎”或类似名称的功能入口。
3、点击“添加文件夹”,浏览并选中目标顽固文件夹。
4、勾选 “彻底粉碎(不可恢复)” 选项,点击“开始粉碎”并等待进度完成。
五、压缩后启用“删除源文件”选项
Windows 压缩引擎在打包过程中会重建路径索引,并允许在归档完成后自动清理原始结构,有效规避句柄残留问题。
1、右键单击目标文件夹 → “发送到” → “压缩(zipped)文件夹”。
2、等待压缩完成,生成一个同名 ZIP 文件(如 BadFolder.zip)。
3、双击打开该 ZIP 文件,确认内部可见全部子项。
4、关闭 ZIP 窗口,右键单击 ZIP 文件 → “属性” → 勾选 “压缩后删除源文件”(若未显示此选项,请先解压 ZIP 到另一位置,再手动删除原文件夹)。
六、运行磁盘检查与系统文件修复
NTFS 元数据损坏或卷索引错乱可能使系统错误报告目录非空;chkdsk 和 DISM 可修复底层结构缺陷。
1、以管理员身份运行 PowerShell 或命令提示符。
2、依次执行以下命令(每条执行完毕后再输入下一条):chkdsk D: /f(D: 替换为对应盘符)。
3、当提示“是否计划在下次重启时检查此卷?”时,输入 Y 并回车。
4、继续执行:sfc /scannow,随后执行:DISM /Online /Cleanup-Image /RestoreHealth。
5、重启电脑,待 chkdsk 自动运行完毕后,再尝试删除目标文件夹。









