Hej Eksperter. Jeg har brug for et lille script jeg kan anvende til at slette filer automatisk når de bliver "x" antal dage gamle.
Firmaets exchange server har efterhånden en del log filer, og for ikke hele tiden at skulle sidde og slette disse manuelt, vil jeg nu gøre dette med et script og så anvende taskmanageren til at køre sciptet planmæssigt.
Jeg ønsker et script hvor jeg kan angive stien til hvilken folder der skal kigges i, samt der skal være mulighed for at definere hvor gamle filerne må være inden de bliver slettet.
Her er en version der kun kikker i den ene mappe, brug den på samme måde som den anden.
Slet # i sidste linie for at få den til at slette, ellers vil den kun fortælle hvilke filer der er for gamle.
import time, os, sys, fnmatch from stat import * now = time.time()
MyPath='d:\\temp' MyExt='*.*' MyAge=30
if sys.argv[1:] : MyPath=sys.argv[1] if sys.argv[2:] : MyExt=sys.argv[2] if sys.argv[3:] : MyAge=sys.argv[3]
files = os.listdir(MyPath) ffiles = fnmatch.filter(files, MyExt) for file in ffiles : FullPath = os.path.join(MyPath, file) mode = os.stat(FullPath)[ST_MODE] if not S_ISDIR(mode): age = now - os.stat(FullPath)[ST_MTIME] age = age/(60*60*24) if age > float(MyAge) : print FullPath, "is to old:", int(age), "days" # os.remove(FullPath)
Synes godt om
Ny brugerNybegynder
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.