@Echo Off setlocal enabledelayedexpansion set /A Day_Min=30 Set PATH_POISK="D:\TEMP" set T_Date=%DATE% IF %T_DATE:~0,1%==0 ( SET /A T_DAY=%T_DATE:~1,1%) else ( SET /A T_DAY=%T_DATE:~0,2%) IF %T_DATE:~3,1%==0 ( SET /A T_MONTH=%T_DATE:~4,1%) else ( SET /A T_MONTH=%T_DATE:~3,2%) SET /A T_YEAR=%T_DATE:~6,4% SET /A T_DAY=%T_DAY%-%Day_Min% :_START if !T_DAY! LEQ 0 ( SET /A T_MONTH=!T_MONTH!-1 if !T_MONTH!==0 ( set /A T_YEAR=!T_YEAR!-1 SET /A T_MONTH=12 set /A T_DAY=31+!T_DAY!) else ( if !T_MONTH!==1 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==2 ( SET /A INT_YEAR=!T_YEAR!/4 SET /A NEW_YEAR=!INT_YEAR!*4 IF !NEW_YEAR!==!T_YEAR! (Set /A T_Day=29+!T_DAY!) ELSE (Set /A T_Day=28+!T_DAY!)) if !T_MONTH!==3 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==4 (Set /A T_Day=30+!T_DAY!) if !T_MONTH!==5 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==6 (Set /A T_Day=30+!T_DAY!) if !T_MONTH!==7 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==8 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==9 (Set /A T_Day=30+!T_DAY!) if !T_MONTH!==10 (Set /A T_Day=31+!T_DAY!) if !T_MONTH!==11 (Set /A T_Day=30+!T_DAY!) if !T_MONTH!==12 (Set /A T_Day=31+!T_DAY!) ) ) if !T_DAY! LSS 1 GOTO _Start rem echo %T_DAY% %T_MONTH% %T_YEAR% FOR /R %PATH_POISK% %%a IN (*.*) DO @Call :MY_DEL "%%a" %%~ta GoTo :EOF :MY_DEL SET F_DATE=%2 set /A F_YEAR=%F_DATE:~6,4% IF %F_DATE:~0,1%==0 ( SET /A F_DAY=%F_DATE:~1,1%) else ( SET /A F_DAY=%F_DATE:~0,2%) IF %F_DATE:~3,1%==0 ( SET /A F_MONTH=%F_DATE:~4,1%) else ( SET /A F_MONTH=%F_DATE:~3,2%) set /A fl_udal=0 if !F_YEAR! LSS !T_YEAR! (set /A fl_udal=1) else ( IF !F_YEAR!==!T_YEAR! ( IF !F_MONTH! LSS !T_MONTH! (set /A fl_udal=1) else ( IF !F_MONTH!==!T_MONTH! (IF !F_DAY! LEQ !T_DAY! (set /A fl_udal=1))))) if !fl_udal!==1 (del /q %1) GoTo :EOF |