r2d290 Skrevet 17. februar 2010 Del Skrevet 17. februar 2010 Heisann Har et program som oppretter en fil hver time, med filnavn xxxxx[dd].[mm].[yyyy]-[tt]-[mm]-[ss] Jeg ønsker et program som kan kjøre i bakgrunnen, som automatisk flytter filene i en mappe tilsvarende datoen på filene, sånn at det blir liggende 24 filer i hver mappe. Ønsker samtidig at filene blir liggende i root-mappen i 24 timer før de blir arkivert i mappen. Hadde satt veldig stor pris på om noen hadde tatt seg tid til å lage noe sånt, evt. tipse meg om et ferdig program hvis det finnes På forhånd, takk så mye! Lenke til kommentar
duckers Skrevet 18. februar 2010 Del Skrevet 18. februar 2010 Til hvilket os? I Linux/OSX kan det enkelt løses med et script og en cron jobb. Sikkert noen fine muligheter i Windows også med den nye Power saken de har fått.. Lenke til kommentar
r2d290 Skrevet 18. februar 2010 Forfatter Del Skrevet 18. februar 2010 Er windows 7 Lenke til kommentar
r2d290 Skrevet 28. februar 2010 Forfatter Del Skrevet 28. februar 2010 Ingen som kjenner til noen mulighet for dette? Lenke til kommentar
aklla Skrevet 1. mars 2010 Del Skrevet 1. mars 2010 Kjenner ikke til noe slikt, men kan antagelig lage noe. funker det å heller ha det som en planlagt oppgave? Å lage noe som kjører i bakgrunnen blir vanskelig for min del ihvertfall. Lenke til kommentar
___ Skrevet 1. mars 2010 Del Skrevet 1. mars 2010 Ingen som kjenner til noen mulighet for dette? For 1900,- kr timen skal jeg vel få til noe på en uke eller to. W Lenke til kommentar
snippsat Skrevet 2. mars 2010 Del Skrevet 2. mars 2010 (endret) Hei r2d290. Lage en kode for en stund siden som slettet filer etter satt dato. Forandret litt på det,så nå flytter det filer før satt dato. Dette vil flytte filer når du har fått 24 filer(en i timen som sier)for da skifter dato. Til en mappe du velger. Har ikke fått testet så mye med det ennå,viss filer har samme navn må det skives om litt. Men du kan jo teste litt med det,kan kjøres som en windows "schedule" en gang i døgnet. Man kan sette om en windows tjeneste(krever litt jobb opprette nytt i register) Eller bruke python sin "schedule" modul. Det beste hadde vært om du kunne litt python,og forandret det til og passe deg 100% nå har du fått et greit utgangspunkt. #! /usr/bin/Python # |---|snippsat|---| # Date_remove.py import os, glob, time, sys, shutil def file_remove(root,xdate,dst_folder): ''' * Function to remove file by there date/last modified-date * Possible to run from command line * sys.argv[0] name of this script sys.argv[1] first argument. * New fuction that move files to dst_folder ''' print '-'*30 for folder in glob.glob(root): print folder ##Remove now only txt,can use other file format eksp: .jpg for my_files in glob.glob(folder + '/*.txt'): stats = os.stat(my_files) lastmodDate = time.localtime(stats[8]) expDate = time.strptime(xDate, '%Y-%m-%d') print my_files, time.strftime("%m/%d/%y", lastmodDate) if expDate > lastmodDate: try: print 'Moving', my_files, time.strftime("(older than %m/%d/%y)", expDate) shutil.move(my_files, dst_folder) ##New function move file older than xDate ##Can use move oy copy #os.remove(my_files) ##For testing we do not remove files,but use line over to print result. except OSError: print 'Could not remove', my_files print '-'*30 if __name__ == '__main__': ##Your folder root = 'C:/tmp/' ##To folder(move files) dst_folder = 'C:/tes/' #Expiration date format YYYY-MM-DD xDate = '2010-03-01' #|---| TO use script from command line #xDate = sys.argv[2] ##Take Date to command line #root = sys.argv[1] ##Take path to command line #root = 'D:/test/*' ##To Seek all sub folders use * #Call function file_remove(root,xDate,dst_folder) Test run med 2 eldere filer og en ny. ------------------------------ C:/tmp/ C:/tmp\file2.txt 02/20/10 Moving C:/tmp\file2.txt (older than 03/01/10) C:/tmp\samlet.txt 02/20/10 Moving C:/tmp\samlet.txt (older than 03/01/10) C:/tmp\samletny.txt 03/02/10 ------------------------------ Endret 2. mars 2010 av SNIPPSAT Lenke til kommentar
r2d290 Skrevet 5. mars 2010 Forfatter Del Skrevet 5. mars 2010 Fenomenalt Snippsat Får børste støv av pyton-boka som skal ligge på loftet et sted, og se om jeg får til noe. Er jo igrunn fin programmeringstrening samtidig. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå