我尝试rd /S
在非空目录上执行,有时运行正常,有时则报告“目录不为空”。为什么会出现此错误?有没有可靠的方法可以在 Windows 下删除一个充满文件和子目录的文件夹?PowerShellRemove-Item
也存在此问题。
答案1
这可能是本地防病毒或索引服务扫描并锁定新复制的文件以防止被立即删除。
我会编写一个延迟程序,并在失败时重试。
for (i = 1 to 10 etc...)
{
try to remove directory
if directory does not exist, break out of loop
wait a second
}
if directory still exists, abort!
答案2
未删除的空文件夹很可能包含一些隐藏文件,或者有人仍在使用该文件夹。
答案3
尝试这个:
del c:\test\*.* /Q
rmdir c:\test /Q
答案4
我试图
rd /S
在非空目录上执行,有时,它工作正常,有时,它会报告目录不为空。为什么我会收到此错误?
因为它包含隐藏文件或需要不同权限的文件。
有没有可靠的方法来删除 Windows 下充满文件和子目录的文件夹?
查看文件夹内部什么文件是否留存,并检查是否可以手动删除它们。如果不能,您可能需要不同的权限。尝试从提升命令提示符。
PowerShell 的 Remove-Item 也存在此问题。
如果不是权限问题,您可以强制执行:Remove-Item -Recurse -Force …