[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我发了一个计算日期的帖子,你去参考一下吧!

TOP

这个是计算日期的,其他的你自己摸索一下吧!
  1. @echo off & setlocal enabledelayedexpansion &rem by author Gan
  2. set /p "time_end=请输入停止日期(格式:2020/01/01):"
  3. set /p "time_go=请输入起始日期(格式:20200101):"
  4. del /q old_date.txt 1>nul 2>nul
  5. >old_date.txt (for /l %%a in (1,1,999) do (
  6. set /a nd=%%a
  7. call :runnian %time_end:~0,4%
  8. call :test
  9. if !m! lss 10 set m=0!m!
  10. if !d! lss 10 set d=0!d!
  11. echo !y!!m!!d!
  12. if !y!!m!!d! equ %time_go% goto :pa
  13. ))
  14. :pa
  15. pause & eixt
  16. ::exit /b 0
  17. :test
  18. for /f "tokens=1-3 delims=/ " %%a in ("%time_end%") do (set /a y=%%a, m=1%%b%%100, d=1%%c%%100)
  19. if !nd! lss %d% (set /a d-=nd & goto :eof)
  20. set /a d_m=m-1, exd=0
  21. for /l %%a in (1,1,!d_m!) do (set /a exd+=m%%a)
  22. set /a exd+=d
  23. if !nd! GEQ %exd% (set /a nd-=exd, m=12, y-=1
  24.   call :runnian !y! ) else (set /a nd-=d, m-=1)
  25. :loop
  26. if !nd! GTR !count! (set /a nd-=!count!, m=12, y-=1& call :runnian !y!& goto :loop)
  27.   for /l %%a in (1,1,2) do (
  28.   if !m! LEQ 0 (set /a m=12, y-=1 & call :runnian !y!)
  29.   set /a md = m!m!
  30.   if !nd! lss !md! (set /a d=md-nd & goto :eof)
  31.   set /a nd-=md, m-=1
  32.   goto :loop)
  33. :runnian
  34. set /a m1=31, m2=28, m3=31, m4=30, m5=31, m6=30, m7=31, m8=31, m9=30, m10=31, m11=30, m12=31
  35. set /a n=0
  36. set /a a=%1%%4,a1=%1%%100,a2=%1%%400
  37. if !a! equ 0 set n=1& if !a1! equ 0 set n=0
  38. if !a2! equ 0 set n=1
  39. if !n! equ 1 (set /a m2=29, count=366) else (set /a m2=28, count=365)
  40. goto :eof
复制代码

TOP

返回列表