批量删除D:\AX下各子目录destination中90天以上PDF文件的批处理问题
解决方法
你的第二个命令问题出在for /D的遍历范围上,"D:\AX"只会匹配目录本身,不会遍历它下面的子目录,应该改成遍历D:\AX下的所有子目录。
正确的批处理命令如下:
for /D %%G in ("D:\AX\*") do ( forfiles /p "%%G\destination" /m *.PDF /D -90 /C "cmd /c del @path" )
命令说明:
for /D %%G in ("D:\AX\*"):遍历D:\AX下的所有子目录,将每个子目录的完整路径赋值给变量%%Gforfiles /p "%%G\destination":指定要操作的目标目录为每个子目录下的destination文件夹/m *.PDF:仅匹配PDF格式的文件/D -90:筛选出最后修改时间超过90天的文件/C "cmd /c del @path":执行删除操作,@path代表当前匹配到的文件的完整路径
额外注意:
- 如果是在命令提示符窗口直接执行(而非保存为批处理脚本),需要把变量
%%G改为%G - 执行删除前,建议先把
del @path替换为echo @path,预览将要删除的文件列表,确认无误后再执行删除操作
内容的提问来源于stack exchange,提问作者Bryan Hawkins
相关产品推荐
相关产品推荐

