{"id":14718,"date":"2025-05-30T01:16:15","date_gmt":"2025-05-29T23:16:15","guid":{"rendered":"https:\/\/www.palentino.es\/blog\/?p=14718"},"modified":"2025-05-30T20:30:40","modified_gmt":"2025-05-30T18:30:40","slug":"%f0%9f%a7%b9-organiza-tu-carpeta-de-descargas-automaticamente-con-python-windows-linux-y-mac","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/%f0%9f%a7%b9-organiza-tu-carpeta-de-descargas-automaticamente-con-python-windows-linux-y-mac\/","title":{"rendered":"&#x1f9f9; Organiza tu carpeta de Descargas autom\u00e1ticamente con Python (Windows, Linux y Mac)"},"content":{"rendered":"<p data-start=\"171\" data-end=\"473\">\u00bfTu carpeta de <strong data-start=\"186\" data-end=\"199\">Descargas<\/strong> est\u00e1 siempre desordenada? Con este script en Python podr\u00e1s organizar autom\u00e1ticamente tus archivos por tipo (im\u00e1genes, documentos, v\u00eddeos, torrents\u2026) e incluso agrupar los documentos en subcarpetas como Word, Excel o PDF. \u00a1Y lo mejor: funciona en <strong data-start=\"446\" data-end=\"472\">Windows, Linux y macOS<\/strong>!<\/p>\n<hr data-start=\"475\" data-end=\"478\" \/>\n<h2 data-start=\"480\" data-end=\"505\">&#x2705; \u00bfQu\u00e9 hace el script?<\/h2>\n<ul>\n<li data-start=\"509\" data-end=\"568\">Detecta la carpeta de Descargas seg\u00fan tu sistema operativo.<\/li>\n<li data-start=\"571\" data-end=\"667\">Clasifica los archivos en carpetas por tipo: Im\u00e1genes, V\u00eddeos, Audio, Documentos, Torrents, etc.<\/li>\n<li data-start=\"670\" data-end=\"744\">Dentro de <strong data-start=\"680\" data-end=\"694\">Documentos<\/strong>, organiza por tipo: Word, PDF, Excel, Texto, etc.<\/li>\n<li data-start=\"747\" data-end=\"795\">Crea las carpetas autom\u00e1ticamente si no existen.<\/li>\n<li data-start=\"798\" data-end=\"836\">Funciona de forma silenciosa y r\u00e1pida.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/demo-script.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14727\" src=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/demo-script.gif\" alt=\"\" width=\"1117\" height=\"630\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p data-start=\"96\" data-end=\"1311\">Este script en Python organiza autom\u00e1ticamente los archivos de la carpeta de Descargas del usuario, funcionando en Windows, Linux y macOS.<\/p>\n<p data-start=\"96\" data-end=\"1311\">Primero detecta el sistema operativo para ubicar correctamente la ruta de la carpeta de Descargas. Luego, define una serie de categor\u00edas generales (como Im\u00e1genes, Documentos, V\u00eddeos, Audio, etc.) asociadas a extensiones de archivo. Para los archivos clasificados como Documentos, el script profundiza a\u00fan m\u00e1s organiz\u00e1ndolos en subcarpetas espec\u00edficas como Word (para archivos .doc y .docx), PDF, Excel, Texto, Presentaciones y Reportes (para archivos .crep).<\/p>\n<p data-start=\"96\" data-end=\"1311\">A continuaci\u00f3n, recorre todos los archivos que se encuentran en la carpeta de Descargas, obtiene su extensi\u00f3n y determina su categor\u00eda y subcategor\u00eda correspondiente. Si no se encuentra una categor\u00eda para una extensi\u00f3n, se mueve a una carpeta llamada &#8220;Otros&#8221;. Si la carpeta de destino no existe, el script la crea autom\u00e1ticamente y luego mueve el archivo a esa ubicaci\u00f3n. Al final, imprime un mensaje indicando que la organizaci\u00f3n ha sido completada. El resultado es una carpeta de Descargas ordenada por tipo de archivo y subtipos de documentos, lo que facilita la localizaci\u00f3n y gesti\u00f3n de los archivos descargados.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/palentino.es\/videos\/demos-script.gif\" width=\"1228\" height=\"748\" \/><\/p>\n<hr data-start=\"838\" data-end=\"841\" \/>\n<h2 data-start=\"843\" data-end=\"864\">&#x1f9e9; C\u00f3digo completo<\/h2>\n<p data-start=\"866\" data-end=\"923\">Guarda el siguiente c\u00f3digo como <strong>organiza_descargas.py<\/strong><\/p>\n<pre><em>import os<\/em>\r\n<em>import shutil<\/em>\r\n<em>import platform<\/em>\r\n\r\n<em>def obtener_descargas():<\/em>\r\n<em>sistema = platform.system()<\/em>\r\n<em>home = os.path.expanduser(\"~\")<\/em>\r\n<em>if sistema == \"Windows\":<\/em>\r\n<em>return os.path.join(home, \"Downloads\")<\/em>\r\n<em>elif sistema == \"Darwin\":<\/em>\r\n<em>return os.path.join(home, \"Downloads\")<\/em>\r\n<em>elif sistema == \"Linux\":<\/em>\r\n<em>posibles = [os.path.join(home, \"Downloads\"), os.path.join(home, \"Descargas\")]<\/em>\r\n<em>for ruta in posibles:<\/em>\r\n<em>if os.path.isdir(ruta):<\/em>\r\n<em>return ruta<\/em>\r\n<em>raise Exception(\"No se encontr\u00f3 la carpeta de Descargas\")<\/em>\r\n\r\n<em>carpeta_descargas = obtener_descargas()<\/em>\r\n\r\n<em>tipos_generales = {<\/em>\r\n<em>\"Im\u00e1genes\": [\"jpg\", \"jpeg\", \"png\", \"gif\", \"bmp\", \"webp\"],<\/em>\r\n<em>\"V\u00eddeos\": [\"mp4\", \"mkv\", \"avi\", \"mov\", \"wmv\"],<\/em>\r\n<em>\"Audio\": [\"mp3\", \"wav\", \"ogg\", \"flac\"],<\/em>\r\n<em>\"Comprimidos\": [\"zip\", \"rar\", \"7z\", \"tar\", \"gz\"],<\/em>\r\n<em>\"Instaladores\": [\"exe\", \"msi\", \"bat\", \"cmd\", \"sh\"],<\/em>\r\n<em>\"Web\": [\"html\", \"htm\", \"css\", \"js\"],<\/em>\r\n<em>\"ISOs\": [\"iso\", \"img\"],<\/em>\r\n<em>\"Torrents\": [\"torrent\"],<\/em>\r\n<em>\"Documentos\": [\"doc\", \"docx\", \"pdf\", \"txt\", \"xls\", \"xlsx\", \"ppt\", \"pptx\", \"crep\"]<\/em>\r\n<em>}<\/em>\r\n\r\n<em>sub_documentos = {<\/em>\r\n<em>\"Word\": [\"doc\", \"docx\"],<\/em>\r\n<em>\"PDF\": [\"pdf\"],<\/em>\r\n<em>\"Texto\": [\"txt\"],<\/em>\r\n<em>\"Excel\": [\"xls\", \"xlsx\"],<\/em>\r\n<em>\"Presentaciones\": [\"ppt\", \"pptx\"],<\/em>\r\n<em>\"Reportes\": [\"crep\"]<\/em>\r\n<em>}<\/em>\r\n\r\n<em>ext_a_general = {ext: cat for cat, lista in tipos_generales.items() for ext in lista}<\/em>\r\n<em>ext_a_subdoc = {ext: sub for sub, lista in sub_documentos.items() for ext in lista}<\/em>\r\n\r\n<em>for archivo in os.listdir(carpeta_descargas):<\/em>\r\n<em>ruta_archivo = os.path.join(carpeta_descargas, archivo)<\/em>\r\n<em>if os.path.isfile(ruta_archivo):<\/em>\r\n<em>ext = archivo.split(\".\")[-1].lower()<\/em>\r\n<em>cat = ext_a_general.get(ext, \"Otros\")<\/em>\r\n<em>destino_base = os.path.join(carpeta_descargas, cat)<\/em>\r\n\r\n<em>if cat == \"Documentos\":<\/em>\r\n<em>sub = ext_a_subdoc.get(ext, \"Otros\")<\/em>\r\n<em>destino_final = os.path.join(destino_base, sub)<\/em>\r\n<em>else:<\/em>\r\n<em>destino_final = destino_base<\/em>\r\n\r\n<em>os.makedirs(destino_final, exist_ok=True)<\/em>\r\n\r\n<em>try:<\/em>\r\n<em>shutil.move(ruta_archivo, os.path.join(destino_final, archivo))<\/em>\r\n<em>except Exception as e:<\/em>\r\n<em>print(f\"No se pudo mover {archivo}: {e}\")<\/em>\r\n\r\n<em>print(\"Organizaci\u00f3n completada.\")<\/em><\/pre>\n<p>&nbsp;<\/p>\n<div id=\"attachment_13910\" style=\"width: 160px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.palentino.es\/script\/organiza-descargas.txt\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13910\" class=\"wp-image-13910 size-full\" src=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/01\/descargar.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-13910\" class=\"wp-caption-text\">renombra la extensi\u00f3n de .txt a .py<\/p><\/div>\n<h2 data-start=\"3128\" data-end=\"3151\">&#x25b6;&#xfe0f; \u00bfC\u00f3mo lo ejecuto?<\/h2>\n<ol data-start=\"3153\" data-end=\"3284\">\n<li data-start=\"3153\" data-end=\"3192\">\n<p data-start=\"3156\" data-end=\"3192\">Aseg\u00farate de tener Python instalado.<\/p>\n<\/li>\n<li data-start=\"3193\" data-end=\"3244\">\n<p data-start=\"3196\" data-end=\"3244\">Guarda el archivo como <strong>organizar_descargas.py.<\/strong><\/p>\n<\/li>\n<li data-start=\"3245\" data-end=\"3284\">\n<p data-start=\"3248\" data-end=\"3284\">Ejecuta desde la terminal o consola:<\/p>\n<\/li>\n<\/ol>\n<p style=\"text-align: left;\"><strong>python organizar_descargas.py<\/strong><\/p>\n<h2 data-start=\"3334\" data-end=\"3384\">&#x1f501; \u00bfY si quiero que se ejecute autom\u00e1ticamente?<\/h2>\n<ul>\n<li data-start=\"3388\" data-end=\"3451\"><strong data-start=\"3388\" data-end=\"3399\">Windows<\/strong>: crea un archivo .<strong>bat<\/strong> y ponlo en <strong>shell:startup<\/strong><\/li>\n<li data-start=\"3454\" data-end=\"3544\"><strong data-start=\"3454\" data-end=\"3469\">Linux\/macOS<\/strong>: a\u00f1ade una l\u00ednea en <strong>crontab<\/strong> o crea un servicio de usuario con <strong>systemd<\/strong>.<\/li>\n<\/ul>\n<blockquote data-start=\"3548\" data-end=\"3601\">\n<p data-start=\"3550\" data-end=\"3601\">\u00bfQuieres automatizarlo? P\u00eddemelo y te muestro c\u00f3mo.<\/p>\n<\/blockquote>\n<hr data-start=\"3603\" data-end=\"3606\" \/>\n<h2 data-start=\"3608\" data-end=\"3624\">&#x1f9e0; Conclusi\u00f3n<\/h2>\n<p data-start=\"3626\" data-end=\"3821\">Este peque\u00f1o script en Python puede ahorrarte mucho tiempo manteniendo tu carpeta de <strong data-start=\"3711\" data-end=\"3749\">Descargas ordenada autom\u00e1ticamente<\/strong>, sin importar si usas Windows, Linux o Mac. \u00a1Simple, \u00fatil y extensible!<\/p>\n<p data-start=\"3626\" data-end=\"3821\"><a href=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/Contacto-oscar.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14716\" src=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/Contacto-oscar.gif\" alt=\"\" width=\"556\" height=\"160\" \/><\/a><\/p>\n<p data-start=\"3626\" data-end=\"3821\">\n","protected":false},"excerpt":{"rendered":"<p>\u00bfTu carpeta de Descargas est\u00e1 siempre desordenada? Con este script en Python podr\u00e1s organizar autom\u00e1ticamente tus archivos por tipo (im\u00e1genes, documentos, v\u00eddeos, torrents\u2026) e incluso agrupar los documentos en subcarpetas como Word, Excel o PDF. \u00a1Y lo mejor: funciona en Windows, Linux y macOS! &#x2705; \u00bfQu\u00e9 hace el script? Detecta la carpeta de Descargas seg\u00fan tu sistema operativo. Clasifica los archivos en carpetas por tipo: Im\u00e1genes, V\u00eddeos, Audio, Documentos, Torrents, etc. Dentro de Documentos, organiza por tipo: Word, PDF, Excel, Texto, etc. Crea las carpetas autom\u00e1ticamente si no existen. Funciona de forma silenciosa y r\u00e1pida.<\/p>\n","protected":false},"author":1,"featured_media":12460,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2324],"tags":[],"class_list":["post-14718","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-script"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/14718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=14718"}],"version-history":[{"count":10,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/14718\/revisions"}],"predecessor-version":[{"id":14734,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/14718\/revisions\/14734"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/12460"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=14718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=14718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=14718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}