- @echo off&setlocal enabledelayedexpansion
- :han
- set a=
- set b=
- set/p a=起始日期,格式20071221:
- set/p b=终止日期,格式20080310,允许为空:
- if "%a%"=="" echo.此数值不允许为空,请按任意键重新开始&pause>nul&goto :han
- set m=寒夜312831303130313130313031孤星
- for /f "tokens=1,2,3 delims=-:/ " %%i in ("%date%") do set i=%%i%%j%%k
- if "%b%"=="" (if %i% gtr %a% (set b=%i%) else set a=%i%&set b=%a%)
- if "%a:~4,1%"=="0" (set tm=%a:~5,1%) else set tm=%a:~4,2%
- if "%a:~6,1%"=="0" (set td=%a:~7,1%) else set td=%a:~6,2%
- set ty=%a:~0,4%&echo.%a%
- :ye
- set/a "n=tm*2","td=td+1","y=(^!(ty%%4)&^!^!(ty%%100))|^!(ty%%400)"
- set e=!m:~%n%,2!
- if %tm%==2 if %y%==1 set e=29
- if %td% gtr %e% set/a "tm=tm+1",td=1
- if %tm%==13 set/a "ty=ty+1",tm=1
- set em=0%tm%&set ed=0%td%&set em=!em:~-2!&set ed=!ed:~-2!&set d=%ty%!em!!ed!
- if %d% gtr %b% echo 完成&pause>nul&goto :eof
- echo.%d%&goto :ye
复制代码 改了好几次,问题太多。。。还请大家多多指教
[ 本帖最后由 hanyeguxing 于 2010-4-8 01:05 编辑 ] |