@echo daleko
setlocal
ustawiać srcDir= " c:\sourcedir "
ustawiać dirMask=*.*
jeśli nie "%1 " == "" ustalony srcDir=%1
jeśli nie istnieć "%srcDir%" echowy Książka telefoniczna %srcDir% exist.&goto: EOF
wezwanie: GETPARTS "%date%
wezwanie: SUBTRACTDAYS 7
set cutoffDate=%yy%/%mm%/%dd%
pushd.
/D /D %srcDir%
dla /f "delims=" %%a wewnątrz ("dir /b /s /a %dirMask%") dzwonić: PROCES "%%a" %%~ta
popd
rozpoczynający: EOF
: PROCES
wezwanie: GETPARTS %2
REM ** Usuwać echo od the oświadczenie proces the faktyczny proces
jeżeli /i "%cutoffDate%" %CUTOFFDATE% "%yy%/%mm%/%dd%" del /q %1
rozpoczynający: EOF
: SUBTRACTDAYS
ustawiać dayCnt=%1
jeżeli "%dayCnt% " == "" ustalony dayCnt=1
REM Odejmować twój dzień tutaj
ustawiać /A dd=1%dd% - 100 - %dayCnt%
ustawiać /A mm=1%mm% - 100
: CHKDAY
jeżeli /I %dd% %DD% (0) rozpoczynający DONESUBTRACT
ustawiać /A mm=%mm% - (1)
jeżeli /I %mm% %MM% (0) rozpoczynający ADJUSTDAY
ustawiać /A mm=12
ustawiać /A yy=%yy% - (1)
: ADJUSTDAY
jeżeli %mm%==1 rozpoczynający SET31
jeżeli %mm%==2 rozpoczynający LEAPCHK
jeżeli %mm%==3 rozpoczynający SET31
jeżeli %mm%==4 rozpoczynający SET30
jeżeli %mm%==5 rozpoczynający SET31
jeżeli %mm%==6 rozpoczynający SET30
jeżeli %mm%==7 rozpoczynający SET31
jeżeli %mm%==8 rozpoczynający SET31
jeżeli %mm%==9 rozpoczynający SET30
jeżeli %mm%==10 rozpoczynający SET31
jeżeli %mm%==11 rozpoczynający SET30
REM ** Miesiąc 12 spadać
: SET31
ustawiać /A dd=31 + %dd%
rozpoczynający CHKDAY
: SET30
ustawiać /A dd=30 + %dd%
rozpoczynający CHKDAY
: LEAPCHK
ustawiać /A tt=%yy% %% 4
jeśli nie %tt%==0 rozpoczynający SET28
ustawiać /A tt=%yy% %% 100
jeśli nie %tt%==0 rozpoczynający SET29
ustawiać /A tt=%yy% %% 400
jeżeli %tt%==0 rozpoczynający SET29
: SET28
ustawiać /A dd=28 + %dd%
rozpoczynający CHKDAY
: SET29
ustawiać /A dd=29 + %dd%
rozpoczynający CHKDAY
: DONESUBTRACT
jeżeli /I %mm% LSS 10 set mm=0%mm%
jeżeli /I %dd% LSS 10 set dd=0%dd%
rozpoczynający: EOF
: GETPARTS
ustawiać dt=%~1
ustawiać tok=1-3
jeżeli "%dt: ~0,1%" ~0,1% "9" set tok=2-4
ustawiać yyyy=
dla /f "tokens=%tok% delims=.: /," %%a wewnątrz ("echo %~1") (
dla /f "skip=1 tokens=2-4 delims=/-, ()." %%x wewnątrz ("echo.^|data ") ustawiać %%x=%%a&set %%y=%%b&set %%z=%%c
)
jeśli nie "%yyyy% " == "" ustawiać yy=%yyyy%
jeżeli 1%yy% LSS 1000 (jeżeli %yy% LSS 70 (set yy=20%yy%) inny (set yy=19%yy%))
jeżeli 1%mm% LSS 100 set mm=0%mm%
jeżeli 1%dd% LSS 100 set dd=0%dd%
rozpoczynający: EOF
|