Avatar billede robotten Praktikant
04. april 2006 - 11:07 Der er 36 kommentarer og
1 løsning

Slet filer fra mappe i windows, der er over X antal dage gamle

Hej

Skal have lavet et job, der kan slette filer, der er over fx. 30 dage gamle i en mappe.
Jobbet skal automatisk blive udført en gang om måneden.

Har ikke prøvet noget sådant her før, så skal have hjælp til det hele.
04. april 2006 - 14:20 #1
[Automatisk slette filer ændre end X dage ell Z % fuld ?] ->
http://www.eksperten.dk/spm/393648

Jeg bruger den et utal af steder - i mit tilfælde ruller den automatisk forskellige steder/server systemer
* hver ½ time
* hver nat kl 02:00
* ???
Avatar billede robotten Praktikant
04. april 2006 - 15:14 #2
Ser rigtigt godt ud, men hvordan kommer jeg i gang? Har ikke arbejdet med scripts før.
04. april 2006 - 16:37 #3
Lige en hurtig:

Programmet 'kigger' kun efter bestemte filtyper - som du bestemmer.

1) Copy hele teksten ved http://www.eksperten.dk/spm/393648#rid3890476 til en ren tekstfil - gi' den et passende navn et passende sted - eks. C:\CleanUp\PURGEFILES.vbs (bemærk *.vbs til efternavn)
2) Opret en anden ren tekstfil - eks. C:\CleanUp\PURGEFILES-30.cmd (bemærk *.cmd til efternavn)

3) I denne PURGEFILES-30.cmd skal stå følgende:

C:\CleanUp\PURGEFILES.vbs (Fuld sti/navn på mappen der skal slettes i samt filtype) 720 /L:C:\CleanUp\PURGEFILES-30.log

i én lang linie.
Tallet 720 = 30 dage !
Du ka' se reslutatet i C:\CleanUp\PURGEFILES-30.log filen

Hvis programmet skal rulle automatisk på en PC som 'altid' er tændt:
4)[Start][Indstilninger][Kontrolpanel][Planlagte Opgaver]...
Her opretter du en 'planlagt' opgave som skal kalde C:\CleanUp\PURGEFILES-30.cmd eks hvad dag/nat kl 01:00

Hvis programmet skal rulle manuelt på en PC:
Opret GENVEJ til C:\CleanUp\PURGEFILES-30.cmd et passende sted.
04. april 2006 - 16:41 #4
C:\CleanUp\PURGEFILES.vbs D:\Logs\*.log 720 /L:C:\CleanUp\PURGEFILES-30.log

sletter alle filer af typen *.log ældre end 720 timer (30 dage) i mappen D:\Logs\

Hvis du skal slette flere slags fil typer kan du bare oprette flere linier:
C:\CleanUp\PURGEFILES.vbs D:\Logs\*.jpg 720 /L:C:\CleanUp\PURGEFILES-30.log
C:\CleanUp\PURGEFILES.vbs D:\Logs\*.bmp 720 /L:C:\CleanUp\PURGEFILES-30.log
C:\CleanUp\PURGEFILES.vbs D:\Logs\*.tif 720 /L:C:\CleanUp\PURGEFILES-30.log
C:\CleanUp\PURGEFILES.vbs D:\Logs\*.txt 720 /L:C:\CleanUp\PURGEFILES-30.log

osv...
Avatar billede robotten Praktikant
06. april 2006 - 08:58 #5
Modtager åbenbart ikke lige alle mail i spm. mere, men følger op på det.
Avatar billede robotten Praktikant
06. april 2006 - 09:32 #6
Virker ikke helt:

.cmd filen:

C:\cleanup\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.wgl 24
C:\CleanUp\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.wgl.idx1 24 /L:C:\cleanup\PURGEFILES-30.log
06. april 2006 - 21:23 #7
... er først lidt med nu ... er arbejsramt...

Hvad er det der ikke virker ordentligt ?

Tips: Afslut *.CMD filen med

PAUSE

så ka' du se hvad der sker - bare under debug fasen...
07. april 2006 - 11:02 #8
Tips:
... hvis du skal testen skal du jo "vente" på at filerne bliver "gamle" - derfor følg denne tråd -> http://www.eksperten.dk/spm/701106
07. april 2006 - 11:09 #9
Jeg ser at du har "dobbelt" endelse *.wgl.idx1 ? Er det meningen ?
Ved ikke hvordan programet håndtere dette...

Du har pt. valgt 24 timers grænse; bør i sidste ende være nævnte 720 timer => ~30 dage.

Log filen bliver jo overskrevet hver gang så trixet ved [06/04-2006 09:32:55] bør så være =

C:\Cleanup\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.wgl 24 /L:C:\cleanup\PURGEFILES-wgl.log
C:\CleanUp\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.idx1 24 /L:C:\cleanup\PURGEFILES-idx1.log
copy C:\cleanup\PURGEFILES-wgl.log + C:\cleanup\PURGEFILES-idx1.log C:\cleanup\PURGEFILES.log
del C:\cleanup\PURGEFILES-wgl.log
del C:\cleanup\PURGEFILES-idx1.log
Avatar billede robotten Praktikant
07. april 2006 - 11:22 #10
Jeg roder lidt med det nu. Den dobbelte filendelse er meningen, for det er filernes endelse. Timetallet 24 er kun for at teste, men uden held.

Har lige prøvet det nye script, men der sker ikke rigtigt noget.
07. april 2006 - 11:26 #11
... hvad gør den - eller ikke gør ?

Læg en

PAUSE

ind som sidste linien i *.CMD filen for at se/læse evt. fejlmeddelser...
07. april 2006 - 11:28 #12
(PS: Jeg er 'på' Eksperten.dk ret blandet tidspunktmæsigt pga arbejdsramt ...)
Avatar billede robotten Praktikant
07. april 2006 - 11:31 #13
Helt i orden. Det er også bare noget jeg roder med, fordi det kunne være rart at slippe for manuel sletning.
Avatar billede robotten Praktikant
07. april 2006 - 11:32 #14
DEr kommer den fejlmeddelelse, at den ikke kan finde log filerne, ellers intet
07. april 2006 - 11:34 #15
... ved COPY delen eller hyr ?
Avatar billede robotten Praktikant
07. april 2006 - 11:34 #16
ved copy delen - den opretter ingen log filer.
07. april 2006 - 11:34 #17
... og nu ER filerne der skal slettes mere end de 24 timer gamle - tihi...
07. april 2006 - 11:36 #18
PS: ... programmet  [purgefiles.vbs]  vil altid oprette *.LOG fil også selvom den IKKE sletter filer...
Avatar billede robotten Praktikant
07. april 2006 - 11:36 #19
Ja, har dem liggende fra nu af, og 2-3 mdr. tilbage. Underligt, at den ikke skriver noget om, at den ikke kan finde de filer, der skal slettes eller noget.
07. april 2006 - 11:37 #20
... og der er ingen 'besked' fra  [purgefiles.vbs]  programmet (på skærmen?) ?
Avatar billede robotten Praktikant
07. april 2006 - 11:39 #21
C:\cleanup>C:\Cleanup\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.wgl 24 /
L:C:\cleanup\PURGEFILES-wgl.log

C:\cleanup>C:\CleanUp\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.idx1 24
/L:C:\cleanup\PURGEFILES-idx1.log

C:\cleanup>copy C:\cleanup\PURGEFILES-wgl.log + C:\cleanup\PURGEFILES-idx1.log C
:\cleanup\PURGEFILES.log
The system cannot find the file specified.

C:\cleanup>del C:\cleanup\PURGEFILES-wgl.log
Could Not Find C:\cleanup\PURGEFILES-wgl.log

C:\cleanup>del C:\cleanup\PURGEFILES-idx1.log
Could Not Find C:\cleanup\PURGEFILES-idx1.log

C:\cleanup>PAUSE
Press any key to continue...
07. april 2006 - 11:40 #22
Hvis du midlertidigt smider /V med i argument listen

USAGE:    purgefiles.vbs <rootfolder\*.filetype> <maxhoursold> [/R] [/S] [/T] [/V] [/L:logfile] [/E]

<rootfolder> - Specifies the directory to start purging files.
<maxhoursold> - Specifies how old a file can be in Days before it is purged.
[/E] - Report status and results to the Event Log.
[/L:logfile] - Specifies a file to output the results to.
[/R] - Deletes the rootfolder if it is empty.
[/S] - Deletes any empty subdirectories.
[/T] - Test Mode - does not delete any files or directories.
[/V] - Verbose Mode - shows detailed information to the screen.
/? - Displays USAGE message.
Avatar billede robotten Praktikant
07. april 2006 - 11:41 #23
Vender tilbage - holder weekend nu. Men takker meget for hjælpen indtil videre
07. april 2006 - 11:43 #24
... det er EF dag idag (EF = Endelig Fredag)...
(Er dog arbejdsramt fra ~kl 13:00 - 23:30 - se i min profil...) og SÅ Weekend...
Avatar billede robotten Praktikant
19. april 2006 - 10:57 #25
Tror det er selve scriptet, der ikke kører helt optimalt.
Kan ganske rigtigt finde en verdion her:
http://cwashington.netreach.net/depo/view.asp?Index=723&ScriptType=vbscript

Alle forespørger dog på en nyere version, men hvor er den?
19. april 2006 - 12:29 #26
(Hvad er status?)
Avatar billede robotten Praktikant
19. april 2006 - 12:43 #27
Har fundet den nyeste version, men det virker ikke. Har prøvet at koge selve .cmd filen ned til et minimum, uden at det virker. Så er stadig på bar bund.
19. april 2006 - 13:12 #28
Prøv at oprette C:\cleanup\PURGEFILES.log - bare med ingenting i...
(Altså den LOG fil som VBS programmet vil/skal/bør skrive til...)

De filer der skal (automatisk) slettes er vel ikke ReadOnly eller på anden måde låst ?

I første omgang teste med *.wgl filtypen ...

C:\Cleanup\purgefiles.vbs C:\Program Files\WatchGuard\logs\*.wgl 24 /
L:C:\cleanup\PURGEFILES.log
19. april 2006 - 13:14 #29
HOV - nu ka' jeg se en pointe:

Undgå mellemrum i mappe/folder/fil navn !!!

eller evt. sådan:

C:\Cleanup\purgefiles.vbs "C:\Program Files\WatchGuard\logs\*.wgl" 24 /
L:C:\cleanup\PURGEFILES.log

Jeg har altid rullet i DK versionen hvor den jo hedder
C:\Programmer\ ...
Avatar billede robotten Praktikant
19. april 2006 - 13:52 #30
Har lige afprøvet med et "C:\test" bibliotek. Det virkede heller ikke.
Avatar billede robotten Praktikant
19. april 2006 - 13:53 #31
Der kom den. Der var et linieskift i dr1's sidste indlæg jeg har copy/pasted med. Det skulle fjernes.
Avatar billede robotten Praktikant
19. april 2006 - 13:59 #32
Hvordan er det nu "program Files" er forkortet til i DOS?
Noget med program~1
Avatar billede robotten Praktikant
19. april 2006 - 14:06 #33
Således, og uden linieskift:
C:\cleanup\purgefiles.vbs C:\progra~1\watchguard\logs\*.wgl 720 /L:C:\cleanup\PURGEFILES.log
19. april 2006 - 14:46 #34
... tilbage igen... (Det er jo dejligt vejr)

Dvs. den oprindelige

C:\Cleanup\purgefiles.vbs C:\progra~1\WatchGuard\logs\*.wgl 24 /L:C:\cleanup\PURGEFILES-wgl.log
C:\CleanUp\purgefiles.vbs C:\progra~1\WatchGuard\logs\*.idx1 24 /L:C:\cleanup\PURGEFILES-idx1.log
copy C:\cleanup\PURGEFILES-wgl.log + C:\cleanup\PURGEFILES-idx1.log C:\cleanup\PURGEFILES.log
del C:\cleanup\PURGEFILES-wgl.log
del C:\cleanup\PURGEFILES-idx1.log

Så burde virke nu ?
19. april 2006 - 14:48 #35
... og selvf. med 720 ...
Avatar billede robotten Praktikant
19. april 2006 - 15:00 #36
Jeg kører så kun med den enkelt linie som angivet, da den også tog .idx1 filerne (der i virkeligheden hedder *.wgl.idx1).
Så jeg kan nøjes med en log fil. Men i praksis burde det andet nu også virke, den kunne bare ikke lide mellemrummet i Program Files
19. april 2006 - 15:03 #37
Dagens "AHAaaaa" oplevelse...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester