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 apagado setlocal fijar el srcDir= " c:\sourcedir " fijar dirMask=*.* si no "" srcDir=%1 determinado del == “%1 " si no existe el directorio el %srcDir% del eco del “%srcDir%” no hace exist.&goto: EOF llamada: GETPARTS el “%date% llamada: SUBTRACTDAYS 7 sistema el cutoffDate=%yy%/%mm%/%dd% pushd. /D cd el %srcDir% para delims=” %%a de /f “adentro (el “dir /b /s /a %dirMask%") llama: PROCESO “%%a” %%~ta popd indicado: EOF : PROCESO llamada: GETPARTS %2 REM ** Quitar el eco de la declaración abajo para permitir el proceso real si /i el “%cutoffDate% %yy%/%mm%/%dd%” GTR el “” del /q %1 indicado: EOF : SUBTRACTDAYS fijar dayCnt=%1 si "" dayCnt=1 determinado del == del “%dayCnt% " El REM resta sus días aquí fijar /A el dd=1%dd% - 100 - el %dayCnt% fijar /A mm=1%mm% - 100 : CHKDAY si /I el %dd% 0 DONESUBTRACT indicados GTR fijar /A mm=%mm% - 1 si /I %mm% 0 ADJUSTDAY indicados GTR fijar /A mm=12 fijar /A el yy=%yy% - 1 : ADJUSTDAY si %mm%==1 SET31 indicado si %mm%==2 LEAPCHK indicado si %mm%==3 SET31 indicado si %mm%==4 SET30 indicado si %mm%==5 SET31 indicado si %mm%==6 SET30 indicado si %mm%==7 SET31 indicado si %mm%==8 SET31 indicado si %mm%==9 SET30 indicado si %mm%==10 SET31 indicado si %mm%==11 SET30 indicado REM ** El mes 12 fracasa : SET31 fijar /A dd=31 el + %dd% CHKDAY indicado : SET30 fijar /A dd=30 el + %dd% CHKDAY indicado : LEAPCHK fijar /A el tt=%yy% el %% 4 si no %tt%==0 SET28 indicado fijar /A el tt=%yy% el %% 100 si no %tt%==0 SET29 indicado fijar /A el tt=%yy% el %% 400 si %tt%==0 SET29 indicado : SET28 fijar /A dd=28 el + %dd% CHKDAY indicado : SET29 fijar /A dd=29 el + %dd% CHKDAY indicado : DONESUBTRACT si sistema mm=0%mm% de /I %mm% LSS 10 si sistema el dd=0%dd% de /I el %dd% LSS 10 indicado: EOF : GETPARTS fijar dt=%~1 fijar tok=1-3 si “%dt: el ~0.1% 9” GTR “” fijaron tok=2-4 fijar el yyyy= para el delims= de /f el “tokens=%tok%.: /,” %%a adentro (“el eco %~1”) hacen ( para /f “skip=1 tokens=2-4 delims=/-, ().” %%x adentro (“echo.^|la fecha ") fija %%x=%%a&set %%y=%%b&set %%z=%%c ) si no el "" del == del “%yyyy% " fijó el yy=%yyyy% si el 1%yy% LSS 1000 (si el %yy% LSS 70 (fijar el yy=20%yy%) (fijar el yy=19%yy%)) si sistema mm=0%mm% 1%mm% LSS 100 si sistema el dd=0%dd% del 1%dd% LSS 100 indicado: EOF