@ECHO OFF
echo.
set months=1
FDATE /Fm /At /N%months% /p"set date2=" > junk.bat
call junk.bat
del junk.bat
Echo %months% month(s) from today is %date2%
:: Show month arithmetic
set months=-1
FDATE /Fm /At /N%months% /p"set date2=" > junk.bat
call junk.bat
del junk.bat
Echo %months% month(s) from today is %date2%
echo.
set months=3
FDATE /Fm /At /N%months% /p"set date2=" > junk.bat
call junk.bat
del junk.bat
Echo %months% month(s) from today is %date2%
set months=12
FDATE /Fm /At /N%months% /p"set date2=" > junk.bat
call junk.bat
del junk.bat
Echo One year from today is %date2%
echo.
set date1=2004-02-29
set months=12
FDATE /Fm /A%date1% /Iccyy-mm-dd /N%months% /p"set date2=" > junk.bat
call junk.bat
del junk.bat
Echo %months% month(s) from %date1% is %date2%
::cleanup
SET DATE1=
SET DATE2=