首页/系统/Windows 运维速查/forfiles 按时间批量处理文件
本包目录(413 条)
CMD 常用命令74 条
PowerShell 基础66 条网络排查41 条服务与进程42 条磁盘与文件43 条用户与权限34 条AD 域与组策略39 条日志与事件38 条远程管理36 条

forfiles 按时间批量处理文件

对满足时间条件的文件逐个执行命令:定期清理旧日志、归档超过 N 天的文件的标准 CMD 方案。

Windows 运维速查系统更新于 2026-10-12
用途按修改时间筛选并批量执行命令
语法forfiles /P 目录 [/S] [/M 模式] /D ±天数 /C "命令"
内置变量@file 文件名 @fname 不含扩展名 @path 完整路径 @relpath 相对路径 @isdir 是否目录

常用示例

常用示例
REM 先预览将命中哪些文件
forfiles /P D:\logs /S /M *.log /D -30 /C "cmd /c echo @path"
REM 确认后改为删除
forfiles /P D:\logs /S /M *.log /D -30 /C "cmd /c del /q @path"
/D -30 表示修改时间早于或等于 30 天前;先在 /C 里用 echo 预览清单,确认后再改成 del。

易错点

  • 路径含空格时命令里的 @path 必须带引号,否则 del 会把它拆成多段删错目标
  • forfiles 对每个文件启动一次进程,海量小文件性能差,可改用 PowerShell 管道处理

数据来源与参考

  • Microsoft Learn:forfiles 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌