从批处理文件中删除带有通配符的文件夹 Windows 7
Posted
技术标签:
【中文标题】从批处理文件中删除带有通配符的文件夹 Windows 7【英文标题】:Delete folders with wild cards from a batch file Windows 7 【发布时间】:2011-06-21 17:03:02 【问题描述】:-
我知道我们可以编写程序来做到这一点。
我知道我们可以编写其他脚本(perl/vbscript/ 等)来执行此操作。
我正在寻找一个命令提示符/批处理文件解决方案来删除所有要删除的与 sub_* 匹配的文件夹(如 sub_1、sub_2 ...)。 rmdir 或 rd 不支持通配符,我无法弄清楚如何将 dir sub_*/ad 命令的输出一一通过管道传送到 delete 命令也是。我可以使用任何循环语法等吗?
【问题讨论】:
【参考方案1】:for /d %x in (sub_*) do rd /s /q "%x"
如果在批处理文件中使用,您需要将%
加倍:
for /d %%x in (sub_*) do rd /s /q "%%x"
未经测试,请务必先使用echo
或其他不会立即擦除目录的东西;)
【讨论】:
是的!完美运行!我看到有些人在 for 循环中对文件使用 %%f,但我不知道该对目录使用什么。我们从哪里查看此类信息? @Piyush:变量名并不重要。/D
告诉 for
查找目录。
啊...现在我知道了...谢谢!【参考方案2】:
forfiles /P C:\where\my\dirs\at /M sub_* /C "cmd /c if @isdir==TRUE rmdir /s /q @file"
【讨论】:
以上是关于从批处理文件中删除带有通配符的文件夹 Windows 7的主要内容,如果未能解决你的问题,请参考以下文章