千家信息网

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

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

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

使用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安全错误 数据库的锁怎样保障安全 软件开发中查询方式 高青专业软件开发公司 上海珍岛网络技术有限公司 计算机网络技术能专升本吗 中国农业银行软件开发部成都 武汉光学仿真软件开发公司 软件开发所有技术都落后吗 php 数据库 排序 迷雾世界双平台服务器 可爱图标软件开发 sql数据库修改列名语法 什么网络安全知识竞赛 网络安全等级保护动态原则 常见的数据库恢复技术 用于科学计算的数据库 南阳软件开发优缺点 中国网络安全与应急管理专业 计算机网络技术什么专业类别 提高网络安全事件判定能力 电力行业145年网络安全方向 大兴服务器搬迁报价单 成都医疗软件开发公司 日光浴室委员会网络安全评估 浅谈软件开发与ui设计 笔记本联网要网络安全密钥 地方网络安全机构有哪些 学院网络技术部工作细则 世界争霸服务器开放时间 网络安全的事例脱口秀 b s软件开发优势
0