错误0x80070091是NTFS元数据损坏导致系统误判目录非空,可先建临时文件触发重扫描;若仍失败,用Robocopy /MIR镜像清空或管理员PowerShell执行takeown、icacls授权后用RD /S /Q \?\路径强制删除。

你在Windows里右键删除一个文件夹时,系统弹出“错误0x80070091:目录不是空的”,点进去看确实空空如也,连隐藏文件都打开了还是删不掉——这不是你漏看了什么,是NTFS底层元数据损坏,系统误判该目录仍有未释放句柄或非法条目。
先让系统重新认一遍这个“空”文件夹
打开文件资源管理器,逐层双击进入目标文件夹的最深层子目录(即里面再没有其他文件夹的那层)。
在该空白处右键 → “新建” → “文本文档”,命名为a.txt。这一步操作起来很简单,直接建个临时文件就能触发系统重扫描整个路径的元数据状态。
关闭所有窗口,返回上一级,再次尝试右键删除原始目标文件夹——多数情况下此时已能成功。如果仍失败,说明存在句柄占用、路径过长或非法命名项等更深层问题。
用Robocopy镜像清空,绕过系统校验
当文件夹结构极深、含大量嵌套或存在不可见NTFS特殊条目(如损坏的短文件名、流文件残留)时,普通删除会卡在路径解析阶段。Robocopy的/MIR参数直接以“源为空”为指令同步目标,强制抹平整个目录树。
方法一:命令提示符方式
在目标文件夹所在磁盘根目录(如D:\)下新建一个名为Empty的空白文件夹。
按Win + R,输入cmd回车,以普通权限启动命令提示符。
执行:cd /d D:\ → robocopy "Empty" "BadFolder" /MIR(其中BadFolder是你要删的文件夹名,必须与当前目录下名称完全一致,区分大小写)。
等待输出显示“已复制: 0”且无报错后,关闭窗口,立即尝试删除原文件夹。
方法二:PowerShell管理员模式(更稳妥)
Shift+右键目标文件夹父目录空白处 → “在此处打开PowerShell窗口(管理员)”。
执行:robocopy .\Empty\ .\BadFolder\ /MIR /NFL /NJH。
【注意】执行前务必确认BadFolder拼写完全正确,/MIR是强制镜像,填错会清空真实文件夹。
管理员PowerShell强制穿透删除
第一步:获取所有权并赋予权限
以管理员身份运行PowerShell,粘贴执行:takeown /f "D:\BadFolder" /r /d y → icacls "D:\BadFolder" /grant administrators:F /t。
第二步:强制清除
在同一窗口中,执行:CMD /C "RD /S /Q \?\D:\BadFolder"(路径中的D:\和BadFolder必须替换成你的实际值)。
如果提示“系统找不到指定的路径”,说明路径里有空格或特殊符号,需用英文双引号包裹整个\?\路径,例如:CMD /C "RD /S /Q \?\"D:\My Folder\BadFolder\""。

















