forfiles
forfiles 是 Windows 命令行工具,用于批量选择文件并执行命令。通常用于文件管理、批量删除、备份等操作。
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -]日期]
/P pathname
/M searchmask
/S
/C command
/D [+/-]日期
在 /C 参数中可使用以下变量(区分大小写):
/C
@file
@fname
@ext
@path
@relpath
@isdir
@fsize
@fdate
@ftime
forfiles /C "cmd /c echo @file"
forfiles /P C:\Logs /S /M *.log /D -30 /C "cmd /c del @path"
forfiles /P D:\Data /M *.txt /D -7 /C "cmd /c copy @path E:\Backup"
forfiles /C "cmd /c echo 文件名:@file 大小:@fsize 修改时间:@fdate @ftime"
forfiles /C "cmd /c if @isdir==TRUE echo 目录:@file"
/D 参数支持以下格式:
/D
数字
/D -7
MM/dd/yyyy
/D 12/01/2023
"C:\Program Files"
echo
/D +30
/D -30
@echo off chcp 65001 >nul forfiles /P "D:\项目" /M *.tmp /S /D -90 /C "cmd /c echo 正在删除:@path && del @path" echo 清理完成! pause
如果系统支持,PowerShell 更灵活:
Get-ChildItem -Path "C:\Logs" -Filter *.log -Recurse | Where LastWriteTime -LT (Get-Date).AddDays(-30) | Remove-Item
掌握 forfiles 可轻松实现自动化文件管理,建议在测试环境中充分验证后再用于生产环境。