Board logo

标题: [文本处理] 批处理如何查找10小时内修改过的文件? [打印本页]

作者: testss    时间: 2011-10-19 08:58     标题: 批处理如何查找10小时内修改过的文件?

想查找一个目录下10小时内修改过的文件,请问有什么方法?
试过forfiles,不过好像只能精确到天
作者: Batcher    时间: 2011-10-19 09:17

参考:批处理判断一个文件在最近5分钟内是否被更新过
http://bbs.bathome.net/thread-10737-1-1.html

批处理函数库里面有计算日期、星期、时间等实例
http://bbs.bathome.net/thread-3056-1-1.html
作者: 545810831    时间: 2011-10-19 20:01

  1. @echo off&setlocal enabledelayedexpansion
  2. set ti=!time:~0,2!
  3. if "!ti:~0,1!" equ "0" set ti=!ti:~1,1!
  4. set /a ti=!ti!-10
  5. set da=!date:~8,2!
  6. if "!ti!" equ "-"  set ti=24+!ti!&set /a da=!date:~8,2!-1
  7. if !ti! lss 10 set ti=0!ti!
  8. set ti=!ti!!time:~3,2!
  9. set dat=!date:~0,4!!date:~5,2!!da!!ti!
  10. set dat=!dat: =!
  11. echo !dat!
  12. for /r "c:\" %%i in (*.txt) do (
  13. set date=%%~ti
  14. set date=!date:~0,10!
  15. set date=!date:-=!
  16. set date=!date!!time:~0,2!!time:~3,2!
  17. if  "!date!" gtr "!dat!" echo %%~dpnxi %%~ti
  18.   )
  19. pause
复制代码
可以查找10小时内修改过的文件,不过在日期为1号就不灵了
作者: Batcher    时间: 2011-10-20 22:41

回复 3# 545810831


还有闰年呢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2