如何用批处理文件统计文件夹中今日创建/修改的文件数量
统计文件夹中今日创建/修改的文件数量
没问题,我来帮你调整批处理命令,实现统计指定文件夹内今日创建或修改的文件数量。原命令只能统计所有文件总数,这里是修改后的完整脚本:
@echo off setlocal enabledelayedexpansion set "LocalFolder=D:\Myfolder" SET file_to_be_copied_Cnt=0 :: 获取今日日期(适配系统默认的日期格式,比如yyyy/MM/dd或MM/dd/yyyy) set "Today=!Date!" for %%o IN ("%LocalFolder%\*.*") DO ( :: 提取文件的修改日期,与今日日期对比 set "FileDate=%%~to" set "FileDate=!FileDate:~0,10!" :: 截取日期核心部分,可根据系统日期格式调整长度 if "!FileDate!"=="!Today:~0,10!" ( SET /A file_to_be_copied_Cnt=file_to_be_copied_Cnt + 1 ) ) echo 今日创建/修改的文件数量:%file_to_be_copied_Cnt% endlocal
关键细节说明:
- 启用
enabledelayedexpansion是批处理循环内动态读取变量的必要操作,不然循环里的变量值无法实时更新 %%~to是批处理内置语法,用来获取文件的修改时间字符串,我们截取前10位来匹配日期部分- 如果你的系统日期格式是
yyyy-MM-dd这类,需要微调!FileDate:~0,10!的截取位置,确保和今日日期的格式完全一致 @echo off用来关闭命令行的冗余输出,让最终结果更清晰直观
内容的提问来源于stack exchange,提问作者mandeep
相关产品推荐
相关产品推荐

