¿Tu carpeta de Descargas está siempre desordenada? Con este script en Python podrás organizar automáticamente tus archivos por tipo (imágenes, documentos, vídeos, torrents…) e incluso agrupar los documentos en subcarpetas como Word, Excel o PDF. ¡Y lo mejor: funciona en Windows, Linux y macOS!
✅ ¿Qué hace el script?
- Detecta la carpeta de Descargas según tu sistema operativo.
- Clasifica los archivos en carpetas por tipo: Imágenes, Vídeos, Audio, Documentos, Torrents, etc.
- Dentro de Documentos, organiza por tipo: Word, PDF, Excel, Texto, etc.
- Crea las carpetas automáticamente si no existen.
- Funciona de forma silenciosa y rápida.
Este script en Python organiza automáticamente los archivos de la carpeta de Descargas del usuario, funcionando en Windows, Linux y macOS.
Primero detecta el sistema operativo para ubicar correctamente la ruta de la carpeta de Descargas. Luego, define una serie de categorías generales (como Imágenes, Documentos, Vídeos, Audio, etc.) asociadas a extensiones de archivo. Para los archivos clasificados como Documentos, el script profundiza aún más organizándolos en subcarpetas específicas como Word (para archivos .doc y .docx), PDF, Excel, Texto, Presentaciones y Reportes (para archivos .crep).
A continuación, recorre todos los archivos que se encuentran en la carpeta de Descargas, obtiene su extensión y determina su categoría y subcategoría correspondiente. Si no se encuentra una categoría para una extensión, se mueve a una carpeta llamada “Otros”. Si la carpeta de destino no existe, el script la crea automáticamente y luego mueve el archivo a esa ubicación. Al final, imprime un mensaje indicando que la organización ha sido completada. El resultado es una carpeta de Descargas ordenada por tipo de archivo y subtipos de documentos, lo que facilita la localización y gestión de los archivos descargados.
🧩 Código completo
Guarda el siguiente código como organiza_descargas.py
import os import shutil import platform def obtener_descargas(): sistema = platform.system() home = os.path.expanduser("~") if sistema == "Windows": return os.path.join(home, "Downloads") elif sistema == "Darwin": return os.path.join(home, "Downloads") elif sistema == "Linux": posibles = [os.path.join(home, "Downloads"), os.path.join(home, "Descargas")] for ruta in posibles: if os.path.isdir(ruta): return ruta raise Exception("No se encontró la carpeta de Descargas") carpeta_descargas = obtener_descargas() tipos_generales = { "Imágenes": ["jpg", "jpeg", "png", "gif", "bmp", "webp"], "Vídeos": ["mp4", "mkv", "avi", "mov", "wmv"], "Audio": ["mp3", "wav", "ogg", "flac"], "Comprimidos": ["zip", "rar", "7z", "tar", "gz"], "Instaladores": ["exe", "msi", "bat", "cmd", "sh"], "Web": ["html", "htm", "css", "js"], "ISOs": ["iso", "img"], "Torrents": ["torrent"], "Documentos": ["doc", "docx", "pdf", "txt", "xls", "xlsx", "ppt", "pptx", "crep"] } sub_documentos = { "Word": ["doc", "docx"], "PDF": ["pdf"], "Texto": ["txt"], "Excel": ["xls", "xlsx"], "Presentaciones": ["ppt", "pptx"], "Reportes": ["crep"] } ext_a_general = {ext: cat for cat, lista in tipos_generales.items() for ext in lista} ext_a_subdoc = {ext: sub for sub, lista in sub_documentos.items() for ext in lista} for archivo in os.listdir(carpeta_descargas): ruta_archivo = os.path.join(carpeta_descargas, archivo) if os.path.isfile(ruta_archivo): ext = archivo.split(".")[-1].lower() cat = ext_a_general.get(ext, "Otros") destino_base = os.path.join(carpeta_descargas, cat) if cat == "Documentos": sub = ext_a_subdoc.get(ext, "Otros") destino_final = os.path.join(destino_base, sub) else: destino_final = destino_base os.makedirs(destino_final, exist_ok=True) try: shutil.move(ruta_archivo, os.path.join(destino_final, archivo)) except Exception as e: print(f"No se pudo mover {archivo}: {e}") print("Organización completada.")
▶️ ¿Cómo lo ejecuto?
-
Asegúrate de tener Python instalado.
-
Guarda el archivo como organizar_descargas.py.
-
Ejecuta desde la terminal o consola:
python organizar_descargas.py
🔁 ¿Y si quiero que se ejecute automáticamente?
- Windows: crea un archivo .bat y ponlo en shell:startup
- Linux/macOS: añade una línea en crontab o crea un servicio de usuario con systemd.
¿Quieres automatizarlo? Pídemelo y te muestro cómo.
🧠 Conclusión
Este pequeño script en Python puede ahorrarte mucho tiempo manteniendo tu carpeta de Descargas ordenada automáticamente, sin importar si usas Windows, Linux o Mac. ¡Simple, útil y extensible!