我想使用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
我无法弄清楚自己哪里出错了。有没有其他方法来实现这一目标? 任何帮助将不胜感激。
答案 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