[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这个虽然准确但是漏了一些不符合条件没有报告
  1. chcp 65001 >nul
  2. set /a m=n=2
  3. set /a "Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12"
  4. for /f "delims=" %%x in ('dir /b /a-d *.txt') do (
  5. setlocal enabledelayedexpansion
  6. for /f "useback tokens=1-9* delims=,. " %%a in ("%%x") do (
  7. if %%h equ 1 (
  8. set t1=%%d-!%%b!-%%c %%e
  9. set t2=%%f
  10. set ss1=%%j
  11. set s2=
  12. ) else if %%h equ 2 (
  13. if defined ss1 (
  14. set s2=1
  15. )
  16. ) else if %%h equ 3 (
  17. if defined s2 (
  18. call :1 "!t1!" "%%d-!%%b!-%%c %%e"
  19. if "%%f" geq "!t2!" (
  20. set /a m=n-1
  21. )
  22. if !DiffSecs! leq !m! (
  23. if "!ss1!" neq "%%j" (
  24. if not defined _"%%x" (
  25. >>out.txt echo %%x
  26. set _"%%x"=1
  27. )
  28. )
  29. )
  30. set ss1=
  31. set s2=
  32. )
  33. ) else (
  34. set ss1=
  35. set s2=
  36. )
  37. )
  38. endlocal
  39. )
  40. pause
  41. exit
  42. :1
  43. set StartTime=%~1
  44. set EndTime=%~2
  45. set StartTime=%StartTime:-= %
  46. set StartTime=%StartTime::= %
  47. set EndTime=%EndTime:-= %
  48. set EndTime=%EndTime::= %
  49. call :DateToSecs %StartTime% StartSecs
  50. call :DateToSecs %EndTime% EndSecs
  51. set /a DiffSecs=EndSecs-StartSecs
  52. set DiffSecs=%DiffSecs:-=%
  53. goto :eof
  54. :DateToSecs %yy% %mm% %dd% %hh% %nn% %ss% secs
  55. setlocal ENABLEEXTENSIONS
  56. set yy=%1&set mm=%2&set dd=%3&set hh=%4&set nn=%5&set ss=%6
  57. if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
  58. set /a dd=100%dd%%%100,mm=100%mm%%%100
  59. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  60. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  61. if 1%hh% LSS 20 set hh=0%hh%
  62. if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
  63. if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
  64. if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
  65. set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
  66. set /a j=j*86400+hh*3600+nn*60+ss
  67. endlocal&set %7=%j%&goto :EOF
复制代码
上面代码只报告了4.txt 不符合条件
但是漏了以下这些不符合条件没有报告, 还需要添加几个条件
  1. 5.txt
  2. 6.txt
  3. 7.txt
  4. 8.txt
  5. 9.txt
复制代码

TOP

返回列表