Salve este texto em um arquivo ( sort.py
) e execute-o:
./sort.py src-dir/ dst-dir/
Faz um loop pelo diretório de origem, obtém o mtime de todos os arquivos e pastas e os move para o diretório de destino. Nota: Não é recursivo! Use a seu próprio risco!
#!/usr/bin/env python # -*- coding: iso-8859-15 -*- import os import sys import shutil from datetime import date # Check arguments if len(sys.argv) > 2: src = sys.argv[1] dst = sys.argv[2] else: print "Arguments: ./sort.py [src] [dst]" sys.exit(1) # Check paths if not os.access(src, os.R_OK): print "Source path not found" sys.exit(2) if not os.access(dst, os.W_OK): print "Destination path not found" sys.exit(3) # Start sorting from root for f in os.listdir(src): fpath = os.path.join(src, f) mtime = os.stat(fpath).st_mtime year = str(date.fromtimestamp(mtime).year) ypath = os.path.join(dst, year) if not os.access(ypath, os.W_OK): os.mkdir(ypath) print "Moving %s to %s" % (fpath, ypath) shutil.move(fpath, ypath)