千家信息网

怎么用批处理实现的删除特定时间以前的文件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关怎么用批处理实现的删除特定时间以前的文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用for命令读取dir /tc /o-d /a的结果,可以
千家信息网最后更新 2026年11月03日怎么用批处理实现的删除特定时间以前的文件

这篇文章给大家分享的是有关怎么用批处理实现的删除特定时间以前的文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用for命令读取dir /tc /o-d /a的结果,可以分成4段,前两段为日期与时间,第3段为目录或文件大小,第4段为文件名或目录名。然后根据第1段和第2段与需要的时间进行比较,决定是否删除文件

@echo off rem cd /d f:\temp rem mDateTime格式: yyymmddHHmm set mDateTime=200608161907 for /f "skip=4 tokens=1,2,3,4* delims=<>" %%i in ('dir /a /-c /tc /o-d') do call :proc %%i %%j %%k %%l goto end :proc set aDate=%1 set aTime=%2 set aType=%3 set aFile=%4 set aDatetime=%aDate:~0,4%%aDate:~5,2%%aDate:~8,2%%aTime:~0,2%%aTime:~3,2% if /i "%aDateTime%" lss "%mDateTime%" (if NOT "%aType%"=="DIR" attrib "%aFile%" -r -h -s && del "%aFile%") :end

但上面会有点问题,主要是因为if不能做大的数字的比较,200608161907对if来说太大了。我们可以先比较日期,再比较时间,但if语句比较多,还是折中一下,采用两位年份:

rem mDateTime格式: ymmddHHmm
set mDateTime=0608161907
……
set aDatetime=%aDate:~2,2%%aDate:~5,2%%aDate:~8,2%%aTime:~0,2%%aTime:~3,2%

Windows2003有一个命令Forfiles,如:
Forfiles /D -30 /C "cmd /c echo @fname 是30天前的。2000下可以把2003的Forfiles.exe文件拷过来用。

另外如果保留最近n个文件,就比较简单了,如,保留最近30个bak文件:
for /f "skip=30" %i in ('dir *.bak /tc /o-d /b') do del %i

批处理中,要把%i 改为%%i

感谢各位的阅读!关于"怎么用批处理实现的删除特定时间以前的文件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

文件 时间 内容 命令 日期 更多 格式 目录 篇文章 不错 实用 大小 年份 数字 文件名 文章 目录名 看吧 知识 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 山东特亿宝互联网科技有限公司 科技股互联网 互联网科技财经 高科技与互联网 互联网科技公司电话 互联网科技logo 互联网科技宣传片 互联网公司会议桌创意科技软装饰 上海电发互联网科技有限公司 隆华科技工业互联网 宁波青枫互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 厦门千工互联网科技有限公司 千方科技属于互联网企业吗 明优互联网科技有限公司 互联网科技如何创业 互联网第三次科技革命特征 黑云互联网科技有限公司 兰石爱特工业互联网科技分公司 南京欣网互联网络科技 重庆互联网络科技 网络科技有限互联网 互联网科技公司发展 融势互联网科技 伴你行互联网科技有限公司 哈尔滨秒房互联网科技有限公司 互联网科技公司招聘 乌苏新华互联网科技做什么的 朱啸虎曾投资哪些互联网科技企业
0