本帖最后由 hanyeguxing 于 2011-4-19 08:19 编辑
例如,输入:2011 4 18 5 300- @echo off&setlocal enabledelayedexpansion
- set "name=1.txt"&set/pp=请依次输入开始年 月 日 递增 行数,以空格分隔:
- for /f "tokens=1-5" %%a in ("%p%") do set/a Y=%%a,M=%%b,D=%%c,N=%%d,C=%%e
- (set M_=0%M%&set D_=0%D%&echo !Y!!M_:~-2!!D_:~-2!
- for /l %%a in (2,1,%C%) do (
- set/a D+=N,"K=^!(M-4)|^!(M-6)|^!(M-9)|^!(M-11)","E=^!(M-2)*(28+((^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)))+K*30+(^!^!(M-2)&^!K)*31"
- if !D! gtr !E! (call:a) else set M_=0!M!&set D_=0!D!&echo !Y!!M_:~-2!!D_:~-2!
- ))>"%name%"&exit
- :a:溢出运算
- set/a D-=E,M+=1,"Y+=^!(M-13)","M-=^!(M-13)*12","K=^!(M-4)|^!(M-6)|^!(M-9)|^!(M-11)","E=^!(M-2)*(28+((^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)))+K*30+(^!^!(M-2)&^!K)*31"
- if %D% gtr %E% goto:a
复制代码
|