Board logo

标题: 按时间删除文件 [打印本页]

作者: evanji     时间: 2008-9-24 19:43    标题: 按时间删除文件

我在日常的系统维护中,常常需要删除文件,有时需要按创建日期删除文件,

我的做法是在"资源管理器"中,先按日期排序.然后选中删除.


  批处理的做法目前没成功

  不过我用另一个变通的方法,XCOPY /D:日期 到临时文件夹,然后RD /S /Q

  请高手给我个指点.

    主要是在命令行下,不知道用什么命令查看文件创建日期.
作者: wuxj     时间: 2008-9-24 20:16
dir 不就有文件的日期,把输出用 for 语句处理一下就能知道日期了。
作者: skystar65     时间: 2008-9-24 20:47
date /t就可用查询日期
这个命令被单引号括起来还可以当作for循环/f参数情况下的定义集

@echo off
for /f "tokens=1,2,3 delims=- " %%a IN ('date /t') do @echo %%a%%b%%c & set YMD=%%a%%b%%c
mkdir %YMD%

这段批处理代码就可以自动按当前的日期建立以日期为名的文件夹
作者: evanji     时间: 2008-9-25 15:20
我想按文件创建的日期删除文件.注意是文件的"创建日期"而不是访问日期或修改日期.
作者: moniuming     时间: 2008-9-25 15:35
dir /od/tc/a-d "*.*"
作者: tireless     时间: 2008-9-25 18:38
我试着写了下,碰到了很多难题...哪位写一下啊,学习一下
作者: zqz0012005     时间: 2008-9-25 19:02
建议用vbs,vbs的时间日期函数又多又方便

bat稍微有点麻烦的是对时间和日期的判断,不记得是moniuming还是terse兄,在verybat写过bat版的,楼主如有需要可以去找找看
作者: HAT     时间: 2008-9-25 20:34

@echo off
set file=C:\test\a.txt
for /f "skip=5" %%a in ('dir /tc "%file%"') do (
  set CrtDay=%%a
  goto :show
)
:show
echo 文件%file%的创建日期:%CrtDay%

作者: tireless     时间: 2008-9-25 22:16
以下是提示符下的“截图”:

D:\>for /f "tokens=*" %a in ('dir /a:d ^| find "2008-09-25"') do @echo %a
2008-09-25  16:32    <DIR>          1   3   3 4

请问如何只显示 1   3   3 4
作者: moniuming     时间: 2008-9-25 22:25
for /f "tokens=3*" %a in ('dir /a:d ^| find "2008-09-25"') do @echo %b
作者: evanji     时间: 2008-9-27 10:29
TO :HAT版主

感谢版主的热情代码,接近我要的要求.