1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : 30 : 31 : 32 : 33 : 34 : 35 : 36 : 37 : 38 : 39 : 40 : 41 : 42 : 43 : 44 : 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : 53 : 54 : 55 : 56 : 57 : 58 : 59 : 60 : 61 : 62 : 63 : 64 : 65 : 66 : 67 : 68 : 69 : 70 : 71 : 72 : 73 : 74 : 75 : 76 : 77 : 78 : 79 : 80 : 81 : 82 : 83 : 84 : 85 : 86 : 87 : 88 : 89 : 90 : 91 : 92 : 93 : 94 : 95 : 96 : 97 : 98 : 99 : 100 : 101 : 102 : 103 : 104 : 105 : 106 : 107 : 108 : 109 : 110 : 111 : 112 : 113 : 114 : 115 : 116 : 117 : 118 : 119 : 120 : 121 : 122 : 123 : 124 : 125 : 126 : 127 : 128 : 129 : 130 : 131 : 132 : 133 : 134 : 135 : 136 : 137 :
@echo au loin setlocal placer le srcDir= " c:\sourcedir " placer dirMask=*.* sinon "" srcDir=%1 réglé du == « %1 " sinon existent l'annuaire %srcDir% d'écho de « %srcDir% » ne fait pas exist.&goto : EOF appel : GETPARTS « %date% appel : SUBTRACTDAYS 7 ensemble cutoffDate=%yy%/%mm%/%dd% pushd. /D cd %srcDir% delims= » %%a pour /f « dedans (le « dir /b /s /a %dirMask%") appellent : PROCESSUS « %%a » %%~ta popd goto : EOF : PROCESSUS appel : GETPARTS %2 Rem ** Enlever l'écho du rapport ci-dessous pour permettre le processus réel si /i « %cutoffDate% %yy%/%mm%/%dd% » » GTR « del /q %1 goto : EOF : SUBTRACTDAYS placer dayCnt=%1 si "" dayCnt=1 réglé de == de « %dayCnt% " Le rem soustraient vos jours ici placer /A dd=1%dd% - 100 - %dayCnt% placer /A mm=1%mm% - 100 : CHKDAY si /I %dd% 0 DONESUBTRACT goto GTR placer /A mm=%mm% - 1 si /I %mm% 0 ADJUSTDAY goto GTR placer /A mm=12 placer /A yy=%yy% - 1 : ADJUSTDAY si %mm%==1 SET31 goto si %mm%==2 LEAPCHK goto si %mm%==3 SET31 goto si %mm%==4 SET30 goto si %mm%==5 SET31 goto si %mm%==6 SET30 goto si %mm%==7 SET31 goto si %mm%==8 SET31 goto si %mm%==9 SET30 goto si %mm%==10 SET31 goto si %mm%==11 SET30 goto Rem ** Le mois 12 tombe à travers : SET31 placer /A dd=31 + %dd% CHKDAY goto : SET30 placer /A dd=30 + %dd% CHKDAY goto : LEAPCHK placer /A tt=%yy% %% 4 sinon %tt%==0 SET28 goto placer /A tt=%yy% %% 100 sinon %tt%==0 SET29 goto placer /A tt=%yy% %% 400 si %tt%==0 SET29 goto : SET28 placer /A dd=28 + %dd% CHKDAY goto : SET29 placer /A dd=29 + %dd% CHKDAY goto : DONESUBTRACT si ensemble mm=0%mm% de /I %mm% LSS 10 si ensemble dd=0%dd% de /I %dd% LSS 10 goto : EOF : GETPARTS placer dt=%~1 placer tok=1-3 si « %dt : ~0.1% 9 » GTR « » a placé tok=2-4 placer le yyyy= pour delims= de /f le « tokens=%tok%. : /, » %%a dedans (« écho %~1 ») font ( pour /f « skip=1 tokens=2-4 delims=/-, (). » %%x dedans (« echo.^|la date ") placent %%x=%%a&set %%y=%%b&set %%z=%%c ) sinon le "" de == de « %yyyy% " a placé yy=%yyyy% si 1%yy% LSS 1000 (si %yy% LSS 70 (placer yy=20%yy%) autrement (placer yy=19%yy%)) si ensemble mm=0%mm% de 1%mm% LSS 100 si ensemble dd=0%dd% de 1%dd% LSS 100 goto : EOF