Tag: Thumbs.db

  • Python: uno script per eliminare i file Thumbs.db e le cartelle .DS_Store

    Windows XP crea automaticamente un file, chiamato Thumbs.db, in tutte le cartelle che visita per salvarne la visualizzazione (dettagli, anteprima, etc.). La stessa cosa fa OSX, creando addirittura (!) una cartella dal nome .DS_Store, contenente gli stessi attributi.

    Stanco di avere il mio hard disk pieno di questi file (in Vista la gestione di questi file è intelligentemente centralizzata), ho creato uno script Python che analizza ricorsivamente una directory (specificata dall’utente) e stampa tutte le posizioni di questi file e directory indesiderati.image

    Lo script richiede esattamente due argomenti: il path da cui si vuole iniziare ad analizzare ricorsivamente la presenza di file e directory indesiderate, e una stringa che conferma l’azione: nel caso in cui l’opzione sia delete, lo script cancella i file desiderati, altrimenti stamperà soltanto le loro posizioni.

    Esempio:
    python recursiveDeleteUnwantedFilesAndDir.py C:\ print

    stampa la posizione dei i files/directory indesiderati

    python recursiveDeleteUnwantedFilesAndDir.py C:\ delete

    stampa la posizione dei i files/directory indesiderati e li elimina dal disco

    Veniamo al codice sorgente:

    import os
    import sys
    
    def recursiveDeleteUnwantedFilesAndDir(path,action):
        for root, dirs, files in os.walk(path):
            for name in files:
                if name == 'Thumbs.db':
                    print os.path.join(str(root),str(name))
                    if action == 'delete':
                        os.remove(os.path.join(str(root),str(name)))
            for name in dirs:
                if name == '.DS_Store':
                    print os.path.join(str(root),str(name))
                    if action == 'delete':
                        os.removedirs(os.path.join(str(root),str(name)))
    
    recursiveDeleteUnwantedFilesAndDir(sys.argv[1],sys.argv[2])
    

    Per scaricare lo script: recursiveDeleteUnwantedFilesAndDir.zip