Fråga : Skriva automatiskt för att ta bort sparar Windows NTserveren för äldre än 1 månad

Vi har en NT-server som sparar loggar in en mappE:\Archive
every 3 månader som, volymen kör ut ur fritt utrymme, och jag behöver fysiskt att komma för att fungera, och gammal borttagnings sparar (3 tillbaka månader) att hålla för tag loggar av den sist förmiddagen för vecka.

I långt söker efter a till automatiskt spring en skriva, som ska borttagnings, logga sparar äldre än 1 månad, så jag måste inte att ta bort dessa sparar manuellt anymore.
" klar "

Svar : Skriva automatiskt för att ta bort sparar Windows NTserveren för äldre än 1 månad

Vi använder efter skriva för att göra det samma tinget, med 7 dagraderingar och för att ha gruppera att spara körning som en planlagd uppgift.

Ändra SUBTRACTDAYSEN 7 till emellertid många dagar som du kräver.

Lee
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 av

setlocal

fastställd srcDir= " c:\sourcedir ",
uppsättning dirMask=*.*

om "" uppsättning srcDir=%1 för == inte ”%1 "

om att inte finnas ”%srcDir%” eka, arkiv %srcDir% gör inte exist.&goto: EOF

appell: GETPARTS ”%date%

appell: SUBTRACTDAYS 7

uppsättning cutoffDate=%yy%/%mm%/%dd%

pushd.

cd /D %srcDir%

för /f ”delims=” %%a (”dir /b /s /a %dirMask%”) gör in appellen: BEARBETA ”%%a” %%~ta

popd

goto: EOF

: PROCESSAA

appell: GETPARTS %2

REM ** Ta bort ekar från det nedanföra meddelandet för att möjliggöra det faktiskt bearbetar
om /i ”%cutoffDate%” GTR ”%yy%/%mm%/%dd%” del /q %1

goto: EOF

: SUBTRACTDAYS

uppsättning dayCnt=%1

om uppsättning dayCnt=1 ”för %dayCnt% " ==""

REM subtraherar dina dagar här
fastställda /A dd=1%dd% - 100 - %dayCnt%
fastställda /A mm=1%mm% - 100

: CHKDAY

om /I %dd% GTR 0 goto DONESUBTRACT

fastställda /A mm=%mm% - 1

om /I %mm% GTR 0 goto ADJUSTDAY

fastställda /A mm=12
fastställda /A yy=%yy% - 1

: ADJUSTDAY

om %mm%==1 goto SET31
om %mm%==2 goto LEAPCHK
om %mm%==3 goto SET31
om %mm%==4 goto SET30
om %mm%==5 goto SET31
om %mm%==6 goto SET30
om %mm%==7 goto SET31
om %mm%==8 goto SET31
om %mm%==9 goto SET30
om %mm%==10 goto SET31
om %mm%==11 goto SET30
REM ** Månad 12 nedgångar igenom

: SET31

fastställda /A dd=31 + %dd%

goto CHKDAY

: SET30

fastställda /A dd=30 + %dd%

goto CHKDAY

: LEAPCHK

fastställda /A tt=%yy% %% 4

om inte %tt%==0 goto SET28

fastställda /A tt=%yy% %% 100

om inte %tt%==0 goto SET29

fastställda /A tt=%yy% %% 400

om %tt%==0 goto SET29

: SET28

fastställda /A dd=28 + %dd%

goto CHKDAY

: SET29

fastställda /A dd=29 + %dd%

goto CHKDAY

: DONESUBTRACT

om /I %mm% LSS 10 uppsättning mm=0%mm%
om /I %dd% LSS 10 uppsättning dd=0%dd%

goto: EOF

: GETPARTS

uppsättning dt=%~1
uppsättning tok=1-3

om ”%dt: ~0.1%” GTR ”9” uppsättning tok=2-4

fastställd yyyy=

för /f ”tokens=%tok% delims=.: /” %%a in (”eka %~1”), gör (
  för /f ”skip=1 tokens=2-4 delims=/-, ().”, %%x in (”echo.^|datera”) gör uppsättningen %%x=%%a&set %%y=%%b&set %%z=%%c
)

om uppsättning yy=%yyyy% för inte ”%yyyy% " ==""

om 1%yy% LSS 1000 (om %yy% LSS 70 (uppsättning yy=20%yy%) annars (uppsättning yy=19%yy%))
om 1%mm% LSS 100 uppsättning mm=0%mm%
om 1%dd% LSS 100 uppsättning dd=0%dd%

goto: EOF
Andra lösningar  
 
programming4us programming4us