@echo
setlocal
установите srcDir= " c:\sourcedir "
установите dirMask=*.*
если "" установленное srcDir=%1 == не «%1 "
если не существовать директория %srcDir% отголоска «%srcDir%» не делает exist.&goto:, тоEOF
звонок: GETPARTS «%date%
звонок: SUBTRACTDAYS 7
комплект cutoffDate=%yy%/%mm%/%dd%
pushd.
cd /D %srcDir%
для delims=» %%a /f «внутри («dir /b /s /a %dirMask%") вызывает: ПРОЦЕСС «%%a» %%~ta
popd
переход: EOF
: ПРОЦЕСС
звонок: GETPARTS %2
Бэр ** Извлекайте отголосок от заявления ниже для того чтобы включить фактический процесс
если /i «%cutoffDate%» GTR «%yy%/%mm%/%dd%» del /q %1
переход: EOF
: SUBTRACTDAYS
установите dayCnt=%1
если "" установленное dayCnt=1 == «%dayCnt% "
Бэр вычитает ваши дни здесь
установите /A dd=1%dd% до 100 до %dayCnt%
установите /A mm=1%mm% до 100
: CHKDAY
если /I %dd% GTR 0 переход DONESUBTRACT
установите /A mm=%mm% до 1
если /I %mm% GTR 0 переход ADJUSTDAY
установите /A mm=12
установите /A yy=%yy% до 1
: ADJUSTDAY
если %mm%==1 переход SET31
если %mm%==2 переход LEAPCHK
если %mm%==3 переход SET31
если %mm%==4 переход SET30
если %mm%==5 переход SET31
если %mm%==6 переход SET30
если %mm%==7 переход SET31
если %mm%==8 переход SET31
если %mm%==9 переход SET30
если %mm%==10 переход SET31
если %mm%==11 переход SET30
Бэр ** Месяц 12 понижается до конца
: SET31
установите /A dd=31 + %dd%
переход CHKDAY
: SET30
установите /A dd=30 + %dd%
переход CHKDAY
: LEAPCHK
установите /A tt=%yy% %% 4
если не %tt%==0 переход SET28
установите /A tt=%yy% %% 100
если не %tt%==0 переход SET29
установите /A tt=%yy% %% 400
если %tt%==0 переход SET29
: SET28
установите /A dd=28 + %dd%
переход CHKDAY
: SET29
установите /A dd=29 + %dd%
переход CHKDAY
: DONESUBTRACT
если комплект mm=0%mm% /I %mm% LSS 10
если комплект dd=0%dd% /I %dd% LSS 10
переход: EOF
: GETPARTS
установите dt=%~1
установите tok=1-3
если «%dt:, то~0.1%» GTR «9» установило tok=2-4
установите yyyy=
для delims= /f «tokens=%tok%.: /,» %%a внутри («отголосок %~1») делают (
для /f «skip=1 tokens=2-4 delims=/-, ().» %%x внутри («echo.^|дата ") устанавливает %%x=%%a&set %%y=%%b&set %%z=%%c
)
если "" == не «%yyyy% " установило yy=%yyyy%
если 1%yy% LSS 1000, то (если %yy% LSS 70 (установите yy=20%yy%) еще, то (установите yy=19%yy%))
если комплект mm=0%mm% 1%mm% LSS 100
если комплект dd=0%dd% 1%dd% LSS 100
переход: EOF
|