@Echo Off setlocal enabledelayedexpansion set Day_pl=77 set T_Date=%DATE% set T_Year=%T_DATE:~-4% if %T_DATE:~-7,1%==0 (set T_Month=%T_DATE:~-8,1%) else (set T_Month=%T_DATE:~-7,2%) if %T_DATE:~-10,1%==0 (set T_Day=%T_DATE:~-9,1%) else (set T_Day=%T_DATE:~-10,2%) Set /A NEW_DAY=%T_DAY%+%Day_pl% Set NEW_MONTH=%T_MONTH% Set NEW_YEAR=%T_YEAR% :start @Call :VychMaxDay !NEW_MONTH! !NEW_YEAR! if !NEW_DAY! GTR !Max_Day! ( set /A NEW_DAY=!NEW_DAY!-!Max_Day! set /A NEW_MONTH=!NEW_MONTH!+1 if !NEW_MONTH! GTR 12 ( set /A NEW_YEAR=!NEW_YEAR!+1 set NEW_MONTH=1) goto :start) setlocal disabledelayedexpansion if %NEW_Day% LSS 10 ( if %NEW_MONTH% LSS 10 (echo 0%NEW_DAY% 0%NEW_MONTH% %NEW_YEAR%) else (echo 0%NEW_DAY% %NEW_MONTH% %NEW_YEAR%)) else (echo %NEW_DAY% %NEW_MONTH% %NEW_YEAR%) GOTO :EOF :VychMaxDay SET /A INT_YEAR=%2/4 SET /A NEW_INT_YEAR=%INT_YEAR%*4 if %1==1 (Set Max_Day=31) if %1==2 (IF %2==%NEW_INT_YEAR% (Set Max_Day=29) else (Set Max_Day=28)) if %1==3 (Set Max_Day=31) if %1==4 (Set Max_Day=30) if %1==5 (Set Max_Day=31) if %1==6 (Set Max_Day=30) if %1==7 (Set Max_Day=31) if %1==8 (Set Max_Day=31) if %1==9 (Set Max_Day=30) if %1==10 (Set Max_Day=31) if %1==11 (Set Max_Day=30) if %1==12 (Set Max_Day=31) GOTO :EOF |