简化一下 | @echo off | | for /f %%a in ('wmic os get localdatetime ^|findstr [0-9]') do set year=%%a&call set year=%%year:~0,4%% | | set /a _1=_3=_5=_7=_8=_10=_12=31,_4=_6=_9=_11=30 | | set/a num=!(year%%4) ^& !(!(year%%100)) ^| !(year%%400),1/num 2>nul && set _2=29|| set _2=28 | | | | :loop | | setlocal | | set /p n=input: | | setlocal enabledelayedexpansion | | set a=非法 | | if "!n:~2,1!!n:~5,1!" equ "/" ( | | for /l %%l in (1,1,12) do ( | | set str=0%%l | | if "!n:~0,2!" equ "!str:~-2!" ( | | for /l %%m in (1,1,!_%%l!) do ( | | set str=0%%m | | if "!n:~3,2!" equ "!str:~-2!" ( | | set a=合法 | | ) | | ) | | ) | | ) | | ) | | endlocal & endlocal &echo %a% | | goto :loopCOPY |
|