ForFiles不适用于具有动态文件夹名称的递归文件夹

时间:2014-12-16 22:32:36

标签: windows loops batch-file dynamic special-folders

我想使用forfiles删除超过92天的文件,但代码似乎破了。 我有一个动态文件夹名称。

for /d %X in (e:\local\test\backups\s?????pbx\) do forfiles /p %X /m *.cab /c "cmd /c del @path" /d -92

我无法弄清楚自己哪里出错了。有没有其他方法来实现这一目标? 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

Windows命令仅支持路径终端节点中的通配符 - 它不会找到出现在最后\之前的任何位置的路径。

您的问题的解决方案非常简单:-)只需删除最终的\

for /d %X in (e:\local\test\backups\s?????pbx) do forfiles /p %X /m *.cab /c "cmd /c del @path" /d -92

答案 1 :(得分:0)

批处理使用*作为通配符。试试这个:

for /d %X in (e:\local\test\backups\s*pbx\) do forfiles /p %X /m *.cab /c "cmd /c del @path" /d -92