标题: [文件操作] 求教:判断文件日期以便根据条件判断方便删除? [打印本页]
作者: leic 时间: 2008-7-28 16:38 标题: 求教:判断文件日期以便根据条件判断方便删除?
现有一需求,硬盘存有一定的文件,日积月累,就得很多了,哪位高手能否来一个P处理,运行后
1、自动扫描指定目录内的文件—>2、根据设定的日期(可以一开始就在代码中写死),判断年月日日期形式—>3、将符合条件的文件删除
就这样子而已,谢谢!辛苦一下各路高手
比如说:
----------------------------
isoemu 2 KB 配置设置 2004-11-09 22:40
isogrub 6,880 KB WinImage ISO 2008-03-11 21:55
bootfont 316 KB BIN File 2008-03-18 06:00
NTDETECT 47 KB 应用程序 2008-03-18 06:00
ntldr 300 KB 系统文件 2008-03-18 06:00
BOOTSECT 1 KB DOS 文件 2008-03-25 11:43
IO 0 KB 系统文件 2008-03-25 12:03
MSDOS 0 KB 系统文件 2008-03-25 12:03
rising 1 KB 配置设置 2008-03-25 17:04
boot 1 KB 配置设置 2008-07-19 20:06
pagefile 1,548,288 KB 系统文件 2008-07-28 09:04
-----------------------------------------
以上只有日期这部分是关建的,让P判断
介于‘2008-07-19’与‘2008-03-18’之间的文件(2008-03-18~2008-07-19),然后将这些文件删除!
尘土飞扬兄说得是, 文件的日期属性有好几个:创建日期、修改日期、最后访问日期,不知道要按照哪个日期来删除。
其实我想了实际情况,还是觉得以创建日期为标准来做判断比较合理也合乎实情,谢谢啊
[ 本帖最后由 leic 于 2008-7-28 21:25 编辑 ]
作者: namejm 时间: 2008-7-28 17:21
文件的日期属性有好几个:创建日期、修改日期、最后访问日期,不知道要按照哪个日期来删除。
作者: Batcher 时间: 2008-7-28 17:36
从楼主给出的信息来看,应该是修改日期。
作者: pusofalse 时间: 2008-7-28 17:37
你用红色标出来,还以为你想删除红色的文件。。
为了确认一下。。。到底删除哪些文件、?
作者: namejm 时间: 2008-7-29 12:52
以下是演示删除创建日期在2008-03-18~2008-07-19之间的当前目录下的所有文件(不包括子目录),如果屏幕上列出的文件符合要求,把 echo del /a /q 语句中的 echo 去掉之后,再次执行文件就可以真正删除了——删除有风险,操作需谨慎,如有问题,请及时跟帖说明。- @echo off
- set date1=2008-03-18
- set date2=2008-07-19
- for /f "tokens=1,3*" %%i in ('dir /a-d /t:c^|findstr /b "[1-9].*-"') do (
- if %%i gtr %date1% (
- if %%i lss %date2% echo del /a /q "%%k"
- )
- )
- pause
复制代码
作者: p4nt1um 时间: 2008-9-16 11:35
请教一下,我是初学者,
怎么判断 文件的创建日期在7天前,这样的条件?
我是需要一个自动备份的批处理,每天运行一次,备份7天前的文件且删除已备份的文件,这些文件是每天一个文件夹的,文件夹名称类似于2008-01-20
谢谢
作者: Batcher 时间: 2008-9-16 11:43 标题: 回复 6楼 的帖子
5楼不是给出代码了么?
作者: p4nt1um 时间: 2008-9-16 12:30
5楼的日期是写死的,请问怎么取今天的7天前的日期呢?
我是初学,不知道日期怎么运算,还请指点一下,谢谢
作者: Batcher 时间: 2008-9-16 14:46 标题: 回复 8楼 的帖子
- @echo off
- >"%temp%\MyDel.vbs" echo dt=date()-7
- >>"%temp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
- >>"%temp%\MyDel.vbs" echo wscript.echo s
- for /f %%a in ('cscript /nologo "%temp%\MyDel.vbs"') do set DateFlag=%%a
- echo 7天前的日期是:%DateFlag%
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |