目录不是空的错误

zip*_*ipi 2 batch-file

我尝试在我的批处理文件中删除包含许多文件和子目录的文件夹(BR),我尝试以下操作:

如果存在C:\ BR(rmdir"C:\ BR"/ S/q)

但有时我得到一个特定文件夹不为空的错误.这个文件夹包含CSS的文件.什么问题?

Jam*_*s K 10

rd /s /q DIRNAME
rmdir /s /q DIRNAME
Run Code Online (Sandbox Code Playgroud)

您无法删除的文件正在使用中.
关闭任何程序将它们打开,可能是您的浏览器,然后再试一次.

让我猜,你试图删除你的%TMP%文件夹.



编辑:回答zipi的问题.

它将删除它可以的每个文件和文件夹.所以,如果c:\tmp\dir2\dir3\open.txt是打开的,c:\tmp\emptyDir是一个空目录,你这样做:

c:\>dir c:\tmp /b /s
c:\tmp\a.txt
c:\tmp\dir2\b.txt
c:\tmp\dir2\dir3\open.txt

c:\>rd /q /s c:\tmp

c:\>dir /s /b c:\tmp
c:\tmp\dir2\dir3\open.txt
Run Code Online (Sandbox Code Playgroud)

你将删除:

c:\tmp\a.txt
c:\tmp\dir2\b.txt
Run Code Online (Sandbox Code Playgroud)

并删除:

c:\tmp\emptyDir
Run Code Online (Sandbox Code Playgroud)

但仍有目录......

c:\tmp
c:\tmp\dir2
c:\tmp\dir2\dir3
Run Code Online (Sandbox Code Playgroud)

......一个文件:

c:\tmp\dir2\dir3\open.txt
Run Code Online (Sandbox Code Playgroud)

如果相反,a.txt是开放的,你只有:

c:\tmp\
Run Code Online (Sandbox Code Playgroud)

c:\tmp\a.txt
Run Code Online (Sandbox Code Playgroud)