在使用.BAT文件删除目录中未知文件夹。

5
我有一个名为“FolderA”的文件夹,其中包含三个子文件夹:foldera1、foldera2和foldera3。
我需要编写一个批处理文件,它位于“FolderA”内。作为清理活动,它应该删除“FolderA”下的所有文件夹。我不知道文件夹的名称。rmdir 不支持通配符。
请问是否有人能够提供一个解决方案?

刚刚添加了双引号,以便能够删除名称中带有空格的目录。 - VonC
3个回答

5

something like :

for /f %%a in ('dir /ad /b') do (rmdir /S /Q "%%a")
for /d %%a in (*) do (rmdir /S /Q "%%a")

应该就可以解决问题了。第二种形式允许对目录进行一些通配符选择。

要在脚本外测试它,在普通的DOS会话中:

for /f %a in ('dir /ad /b') do (rmdir /S /Q "%a")
for /d %a in (*) do (rmdir /S /Q "%a")

请注意使用双引号,以便能够删除名称中包含空格的目录。

3

从命令行:

for /D %a in (*) do rd /S /Q %a

在批处理/cmd文件中:

for /D %%a in (*) do rd /S /Q %%a

0

当你在FolderA内部时,运行“rmdir /s /q .”

这会在命令行上显示一个错误:“文件正在使用中...”
然而,它会删除其中的目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接