CODE: [Copy to clipboard]
::不考虑跨年问题
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=," %%k in (M.ini)do (
for /f "tokens=1-3* delims=-," %%a in ("%%l")do (
if not defined _%%a set _%%a=%%a&call :JugY %%a
set "_%%a_%%b_%%c=%%d"
set Last=_%%a_%%b_%%c
)
)
for %%m in (31 %Feb% 31 30 31 30 31 31 30 31 30 31)do (
set/a Mth+=1
for /l %%d in (1 1 %%m)do (
set SW=_%year%_!Mth!_%%d
if defined !SW! set Flag=!SW!
if defined Flag call :SH %year%-!Mth!-%%d !Flag!
if !SW!==%Last% goto :end
)
)
:end
pause
goto :eof
:JugY
set year=%1
set/a leap="^!(year%%4)^^(^!(year%%100)^^^!(year%%400))",Feb=leap+28
goto :eof
:SH
echo %1,!%2!