¿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!









