在Windowsbatch file中比较2个date

如何比较batch file中的2个date? 这个:

if %%newdate geq %olddate% _do smth_ 

不起作用。

在这种情况下,我有这个
27.05.2013 大于 15.07.2013
14.07.2013 小于 15.07.2013

振亚

Solutions Collecting From Web of "在Windowsbatch file中比较2个date"

尝试这个:

 set "sdate1=%olddate:~-4%%olddate:~3,2%%olddate:~0,2%" set "sdate2=%newdate:~-4%%newdate:~3,2%%newdate:~0,2%" if %sdate1% GTR %sdate2% (goto there) else echo here 
 call :date_to_number %date1% date1 call :date_to_number %date2% date2 if %date1% GEQ %date2% echo date1 is bigger goto :eof :date_to_number setlocal if "%~1" EQU "" goto :eof for /f "tokens=1,2,3 delims=." %%D in ("%~1") do ( set "the_date=%%F%%E%%D" ) endlocal & if "%~2" neq "" (set %~2=%the_date%) else echo %the_date% goto :eof 

但是这只能在格式为DD.MM.YYYY的日期中使用