2011-02-05 845 views
6
  1. 我知道我们可以编写程序来完成它。
  2. 我知道我们可以编写其他脚本(perl/vbscript /等)来完成它。

我要寻找一个命令提示符/批处理文件解决方案,删除匹配sub_ *(如sub_1,sub_2 ...)要删除所有文件夹。 rmdir或rd不支持通配符,并且我无法弄清楚如何将命令的输出管理为dir sub _ */ad命令到删除命令也一样。任何循环语法等我可以使用?从批处理文件中删除带有通配符的文件夹Windows 7

回答

14
for /d %x in (sub_*) do rd /s /q "%x" 

您需要的%增加一倍。如果在一个批处理文件中使用:

for /d %%x in (sub_*) do rd /s /q "%%x" 

未经检验的,请务必先使用echo或别的东西,不立即擦去目录;)

+2

是!完美的作品!我曾经看到有些人在for循环中使用%% f作为文件,但我不知道如何使用目录。我们从哪里看这类信息? – 2011-02-05 00:49:47

+0

@Piyush:变量名称不重要。 `/ D`告诉`for`查找目录。 – Joey 2011-02-05 10:29:13

1

forfiles /P C:\where\my\dirs\at /M sub_* /C "cmd /c if @isdir==TRUE rmdir /s /q @file"

相关问题