中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断文件日期以便根据条件判断方便删除?
<<   [1] [2]  >>   >
作者:
标题: 判断文件日期以便根据条件判断方便删除? 上一主题 | 下一主题
leiyc
新手上路





积分 18
发帖 7
注册 2008-5-10
状态 离线
『楼 主』:  判断文件日期以便根据条件判断方便删除?

现有一需求,硬盘存有一定的文件,日积月累,就得很多了,哪位高手能否来一个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),然后将这些文件删除!


2008-7-28 17:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

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 这几个文件,如果在系统分区的根目录下的话,是有用的。不能删。


2008-7-28 17:29
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

@echo off
set DateB=2008-07-19
set DateE=2008-03-18
setlocal enabledelayedexpansion
for %%a in ("C:\test\*.*") do (
  set t=%%~ta
  set FileDate=!t:~0,10!
  if !FileDate! geq %DateB% (
    if !FileDate! leq %DateE% (
      del /q "%%a"
    )
  )
)




2008-7-28 17:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
leiyc
新手上路





积分 18
发帖 7
注册 2008-5-10
状态 离线
『第 4 楼』:  

我只是举个例子,不是要删那些文件啊


2008-7-28 17:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leiyc
新手上路





积分 18
发帖 7
注册 2008-5-10
状态 离线
『第 5 楼』:  

Originally posted by HAT at 2008-7-28 05:41 PM: [code]@echo off set DateB=2008-07-19 set DateE=2008-03-18 setlocal enabledelayedexpansion for %%a in ("C:\test\*.*") do ( set t=%%~ta set FileDate=!t:~0,10! if !FileDate! geq ...
没有删除哦,我改过日期了


2008-7-28 17:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

把你的代码贴出来看看?




2008-7-28 20:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
leiyc
新手上路





积分 18
发帖 7
注册 2008-5-10
状态 离线
『第 7 楼』:  

Originally posted by HAT at 2008-7-28 08:09 PM: 把你的代码贴出来看看?
@echo off set DateB=2008-07-28 set DateE=2008-07-25 setlocal enabledelayedexpansion for %%a in ("d:\ccclient\send\*.*") do ( set t=%%~ta set FileDate=!t:~0,10! if !FileDate! geq %DateB% ( if !FileDate! leq %DateE% ( del /q "%%a" ) ) )


2008-7-28 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  

把@echo off删除,开始,运行,cmd,test.bat 结果贴出来看看




2008-7-28 21:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
a794685135
初级用户





积分 71
发帖 34
注册 2007-12-20
状态 离线
『第 9 楼』:  

C:\test>set DateB=2008-07-28 C:\test>set DateE=2008-03-28 C:\test>setlocal enabledelayedexpansion C:\test>for %a in ("C:\test\*.*") do ( set t=%~ta set FileDate=!t:~0,10! if !FileDate! GEQ 2008-07-28 (if !FileDate! LEQ 2008-03-28 (del /q "%a" ) ) ) C:\test>( set t=2008-07-28 22:29 set FileDate=!t:~0,10! if !FileDate! GEQ 2008-07-28 (if !FileDate! LEQ 2008-03-28 (del /q "C:\test\tex t1.bat" ) ) )


2008-7-28 22:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
a794685135
初级用户





积分 71
发帖 34
注册 2007-12-20
状态 离线
『第 10 楼』:  

有问题 : 1.只删除了文件 2.只删除了设定的文件夹当前目录下面的文件,下一级目录里面的文件没有删除


2008-7-28 22:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
a794685135
初级用户





积分 71
发帖 34
注册 2007-12-20
状态 离线
『第 11 楼』:  

@echo off
set DateB=2008-07-28
set DateE=2008-07-28
setlocal enabledelayedexpansion
for /r "C:\test\" %%a in (.) do (
  set t=%%~ta
  set FileDate=!t:~0,10!
  if !FileDate! geq %DateB% (
    if !FileDate! leq %DateE% (
      del /q "%%a"
    )
  )
)
删除了下级目录下面的文件,只是对于文件夹的处理还是不知道


2008-7-28 22:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
a794685135
初级用户





积分 71
发帖 34
注册 2007-12-20
状态 离线
『第 12 楼』:  

Originally posted by a794685135 at 2008-7-28 10:54 PM: [code] @echo off set DateB=2008-07-28 set DateE=2008-07-28 setlocal enabledelayedexpansion for /r "C:\test\" %%a in (.) do ( set t=%%~ta set FileDate=!t:~0,10! if !FileDate! ...
不行不行 ,, 郁闷


2008-7-28 23:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  

1、楼主没有要求删文件夹 2、楼主没有要求处理子目录的文件




2008-7-29 00:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 14 楼』:  

@echo off
for /r %%i in (*.*) do (
if not "%%i"=="%~0" (
if %%~ti geq 2008-03-18 if %%~ti leq 2008-07-28 echo del "%%i" /a/q/f>nul 2>nul
))
pause




简单!简单!再简单!
2008-7-29 02:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leiyc
新手上路





积分 18
发帖 7
注册 2008-5-10
状态 离线
『第 15 楼』:  

Originally posted by terse at 2008-7-29 02:44 AM: [code] @echo off for /r %%i in (*.*) do ( if not "%%i"=="%~0" ( if %%~ti geq 2008-03-18 if %%~ti leq 2008-07-28 echo del "%%i" /a/q/f>nul 2>nul )) pause [ ...
没有达到效果,为什么我测试的都不行呢?


2008-7-29 07:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: