from pathlib import Path from datetime import datetime import shutil ENTRADA = Path("entrada") SALIDA = Path("ordenados") LOG = Path("log_archivos.csv") SALIDA.mkdir(exist_ok=True) permitidos = {".xlsx", ".csv", ".txt"} lineas_log = ["archivo_original,estado,archivo_destino,mensaje"] for archivo in ENTRADA.iterdir(): if not archivo.is_file(): continue extension = archivo.suffix.lower() if extension not in permitidos: lineas_log.append(f"{archivo.name},rechazado,,Extension no permitida") continue fecha = datetime.fromtimestamp(archivo.stat().st_mtime).strftime("%Y%m%d") nombre_limpio = archivo.stem.lower().replace(" ", "_").replace("-", "_") destino = SALIDA / f"{fecha}_{nombre_limpio}{extension}" contador = 1 while destino.exists(): destino = SALIDA / f"{fecha}_{nombre_limpio}_{contador}{extension}" contador += 1 shutil.copy2(archivo, destino) lineas_log.append(f"{archivo.name},procesado,{destino.name},OK") LOG.write_text("\n".join(lineas_log), encoding="utf-8") print(f"Proceso terminado. Revisar {LOG}")