怎么用批处理实现的删除特定时间以前的文件
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章给大家分享的是有关怎么用批处理实现的删除特定时间以前的文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用for命令读取dir /tc /o-d /a的结果,可以
千家信息网最后更新 2025年11月11日怎么用批处理实现的删除特定时间以前的文件
这篇文章给大家分享的是有关怎么用批处理实现的删除特定时间以前的文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
使用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安全错误
数据库的锁怎样保障安全
软件开发三本院校就业
计算机网络技术取得的成就
刚上线3天全服务器爆满
腾讯云服务器安装失败
写一篇网络安全的手抄报
淄博网络安全培训班在哪里
自主软件开发的定义
计算机服务器连接电脑和交换机
hp服务器远程管理许可
北京互联网软件开发定制费用
60wow数据库+虚空法袍
服务器中只提供缓存服务
酒店行业关于网络安全规定
网络安全与系统集成
河南服务器硬盘多少钱
我的世界多人服务器生存网易
面试不想做软件开发
软件开发方向考什么证
汕头专业软件开发价格
计算机三级网络技术必背
pfmea数据库建立
手机怎么更新电脑服务器
数据库的数据怎么样打印条码
小米输入法清楚数据库
php查询数据库结果
网络安全中级考试时间
二维码生产软件开发
地图服务器搭建
软件开发项目外包省钱
网络安全手抄报又难又好的