El atareao atareao  

Organizar tus archivos automágicamente o un hazlo tu mismo

En mi caso, y supongo que a ti también te sucederá lo mismo, todos tus archivos los descargas a un directorio de tu Home llamado Descargas o si tienes la instalación en inglés Downloads. Salvo que seas una persona ordenada y meticulosa, y cada vez que descargues algo lo lleves al sitio que toque. Por ejemplo, las fotografías a un directorio donde guardes las fotografías, los documentos a su directorio correspondiente, y así sucesivamente. Pero aún así, es muy probable que posteriormente, todavía tengas que hacer trabajo adicional. ¿No existe una solución para organizar tus archivos de forma automática? Easy File Organizer.

Por supuesto que Easy File Organizer no es la única opción para organizar tus archivos. Ni mucho menos. De hecho, ya dediqué un episodio del podcast a esto, en concreto, el episodio 56 sobre organizar tus archivos para ser mas productivo.

Sin embargo, en este episodio quiero hablarte de una herramienta para que tu mismo la pruebes, pero quiero ir un paso mas allá. Y es que este es uno de esos episodios del podcast que mas me gustan. Porque no solo te muestro una herramienta para que seas mas productivo, sino que te indico como te la puedes fabricar tu mismo. Me ha gustado este concepto de fabricar.

Así en este nuevo episodio del podcast, te voy a indicar una opción para organizar tus archivos automágicamente, con tus propios conocimientos.

Organizar tus archivos automágicamente

Organizar tus archivos automágicamente

En episodios anteriores del podcast

Como te decía en la introducción, en el episodio 56 del podcast te indiqué algunas opciones que tienes a tu alcance para ser mas organizado con tus archivos. El objetivo principal, era que el directorio de descargas, dejará de ser una habitación de Diógenes, con decenas o cientos de descargas, de archivos, de documentos, imágenes o vídeos.

Pero no solo se trata de tener tu directorio de descargas ordenado, sino también de que tu no inviertas ni un segundo de tu tiempo en hacerlo, o al menos que inviertas el menor tiempo posible.

Esto como todo lo que se refiere a productividad, tiene una contrapartida, y es que tienes que hacer una inversión, en conocimiento y en tiempo.

  • conocimiento, porque tienes que aprender a utilizar la herramienta que selecciones.
  • tiempo, tanto para elegir la herramienta que mejor se adecue a tus necesidades, como para aprender a manejarla.

En ese episodio 56, te hablé de herramientas como Classifier, Organize my Files, Organizer.

Pero, también te di la pista para hacerlo de forma totalmente manual. Eso si, solo fue, una pista. En este episodio del podcast, voy a ir un paso más allá y te voy a mostrar como hacerlo, utilizando dos herramientas completamente distintas.

Organizar tus archivos con Easy File Organizer

Aviso para navegantes

Antes de nada, antes de que descargues esta aplicación y la conviertas en una herramienta irreemplazable, indicarte que se trata de una aplicación de pago, que no es Open Source. Esto lo tienes que tener muy en cuenta.

En este sentido, si quieres resolver esto de organizar los archivos con una solución Open Source, puedes utilizar alguna de las recomendaciones que te he indicado anteriormente.

Easy File Organizer

Una vez todas las cartas encima de la mesa*, *¿Que es Easy File Organizer?*. Se trata de una herramienta implementada en *Electron*, que te permite organizar todos tus archivos de forma gráfica.

Características

Algunas de las características de Easy File Organizer son las siguientes,

  • Es tremendamente sencilla y intuitiva tanto de utilizar como de configurar
  • Es muy rápida. Según los propios desarrolladores de la aplicación, es capaz de organizar mas de 1000 archivos en menos de medio segundo. Claro, que esto dependerá del disco duro que tengas, y del tamaño de los mismos. No creo que sea ni parecido, copiar 1000 archivos de 1 MB que de 1 GB, pero bueno….
  • Tiene una gran cantidad de posibilidades a la hora de organizar tus archivos, ya sea por extensión, por tamaño, por nombre y mucho mas.
  • De la misma forma que te permite organizar el directorio principal, también te permite organizar los subdirectorios dependientes, jerárquicamente, de ese directorio principal con un solo golpe de ratón.
  • Otra opción que tienes al alcance la mano con Easy File Organizer, es la posibilidad de organizar todos tus archivos por contenido.
  • Puedes definir tus propias reglas para organizar los archivos por grupos.
  • Es posible definir plantillas para organizar los archivos en directorios por el nombre de esos archivos.
  • Tiene lo que se conoce como filtros inteligentes que te facilita la ogranización de archivos por categorías.
  • Dispone de una vista preliminar, lo que te facilitará hacerte una idea de como quedarán los archivos después de su organización.
  • No solo puedes organizar los archivos de tu sistema por defecto, sino que por supuesto, también puedes organizar de forma sencilla, cualquier USB externo que insertes en tu equipo.
  • La organización de archivos, no solo la haces en un directorio, sino que es posible crear una jerarquía completa de directorios basado en tipo de archivo, extensión y fecha, por mencionar algunas.
  • Y por último, pero no menos importante, indicarte que esta operación de ordenar archivos es completamente reversible. Siempre puedes volver al estado previo antes de realizar la organización. Así que no te tienes que preocupar.

Versión gratuita y versión de pago

Como te he comentado anteriormetne, Easy File Organizer no es una aplicación Open Source, y tiene dos modalidades, gratuita y de pago.

La diferencia entre una y otra radica en los siguientes puntos,

  • La versión gratuita tiene limitado el número de unidades y directorios que puede organizar.
  • De la misma forma, la versión gratuita, tampoco puede realizar la organización de subdirectorios.
  • En el caso de que tengas la versión de pago, tienes soporte preferente sobre la otra opción.

Instalación

Se trata de una herramienta que está disponible tanto para Windows, como MacOS, como Linux. Es tremendamente sencilla de instalar. Tan solo tienes que descargar el archivo comprimido desde la página de descargas de Easy File Organizer, descomprimir y … efectivamente se trata de un paquete AppImage, con lo que solo lo tienes que mover al directorio donde guardes normalmente los ejecutables y darle permiso de ejecución.

Fíjate, que este paso te lo podrías ahorrar, si tuvieras ya en marcha, lo que te voy a proponer a continuación. Y es que la ventaja de configurarte tu mismo tus herramientas, te da todo un mundo de opciones y posibilidades.

Hazlo tu mismo: organizar tus archivos automágicamente

Una vez ya has visto las posibilidades que te ofrece Easy File Organizer, ha llegado el momento de un Hazlo tu mismo. Y es que, como verás a continuación, esto que te voy a proponer es tremendamente sencillo. O no, ya dependerá de ti, porque como también verás, lo puedes complicar todo lo que tu quieras.

El script organizador

El primer paso, es implementar un script, que sea lo mas sencillo posible, y que te permita organizar tus archivos automágicamente. Aquí puedes, o bien partir de una de las herramientas que comenté en el episodio 56 del podcast, o bien, desarrollarlo tu mismo.

En el caso de que te decidas a desarrollarlo tu mismo, tendrás que elegir el lenguaje de programación. Yo me he decantado por hacerlo todo en Bash, porque como verás a continuación es bastante sencillo e intuitivo, pero además, es rápido y limpio.

Evidentemente, necesitas algunos conocimientos básicos para hacerlo, pero no te tienes que preocupar, porque aquí, en atareao.es, los vas a encontrar todos,

Así, mi propuesta es como sigue,

#!/bin/bash

ODIR='/home/lorenzo/temporal/ejemplo'
PACDIR='/home/lorenzo/temporal/ejemplo/paquetes'
APPIMAGEDIR='/home/lorenzo/.local/bin'
DOCDIR='/home/lorenzo/temporal/ejemplo/documentos'

if [ ! -d "$PACDIR" ]
then
    mkdir "$PACDIR"
fi
for i in $(find ${ODIR} -maxdepth 1 -type f)
do
    echo $i
    if [[ "${i,,}" =~ .*caca.* ]]
    then
        mv "$i" "$DOCDIR"
    elif [[ "${i,,}" =~ .md$ ]] || [[ "${i,,}" =~ .doc$ ]] || \
         [[ "${i,,}" =~ .docx$ ]] || [[ "${i,,}" =~ .odt$ ]] || \
         [[ "${i,,}" =~ .odp$ ]] || [[ "${i,,}" =~ .xls$ ]] || \
         [[ "${i,,}" =~ .pdf$ ]]
    then
        mv "$i" "$DOCDIR"
    elif [[ "${i,,}" =~ .tar.xz$ ]] || [[ "${i,,}" =~ .zip$ ]] || \
         [[ "${i,,}" =~ .deb$ ]]
    then
        mv "$i" "$PACDIR"
    elif [[ "${i,,}" =~ .appimage$ ]]
    then
        chmod +x "$i"
        mv "$i" "$APPIMAGEDIR"
    fi
done

Algunos detalles en los que te tienes que fijar para adaptar este script a tus necesidades.

  • Todo está con expresiones regulares, lo que te puede dar mucha mas flexibilidad
  • A la hora de comparar, lo he pasado todo a minúsculas, para evitar pequeños despistes.
  • En el caso de AppImage, como te comenté cuando hablé de Easy File Organizer, antes de moverlo a su ubicación definitiva, lo he convertido en ejecutable, de forma que me ahorro un paso posterior.
  • El orden importa. Ten en cuenta, que dependiendo del orden en el que aparezcan los if then, así se irá ejecutando. De esta forma, si quieres que un archivo se clasifique por el nombre antes que por la extensión, esta comparación, la tienes que poner antes.

He puesto solo unas pocas extensiones, y otros filtros. Ahora te queda añadir todos aquellos filtros que necesites, para adecuar el script a tus necesidades.

Ejecutar el script

Ahora toca ejecutar el script, y por supuesto para esto tienes tantas opciones como quieras.

Ejecución manual

La primera de ellas, es que ejecutes el script a mano cuando tu lo necesites. Es decir, que lo ejecutes a voluntad. Esto, tiene el inconveniente de que necesitarás recurrir al terminal en cada ocasión… O no.

Un cuadro de diálogo

Aprovechando el tutorial sobre diálogos para scripts, puedes crearte un sencillo script para ejecutar esto. Tan sencillo como utilizar yad para esta operación. Fíjate,

#!/bin/bash
yad --title="https://www.atareao.es" \
    --center \
    --width=250 \
    --height=80 \
    --text-align=center \
    --text="¿Ordenamos las descargas?"
ans=$?
if [ $ans -eq 0 ]
then
    /bin/bash /home/lorenzo/.local/bin/sort.sh
fi

Claro, que me dirás que de esta forma tienes que de todas maneras recurrir al terminal. Sin embargo, esto lo puedes solucionar fácilmente con este lanzador,

[Desktop Entry]
Name=Sorter
GenericName=Sorter
Icon=applications-engineering-symbolic
Exec=/bin/bash /home/lorenzo/.local/bin/sort_gui.sh
Type=Application

La ubicación de los scripts es la siguiente,

  • sort.sh en ~/.local/bin/
  • sort_gui.sh en ~/.local/bin/
  • sort.desktop en ~/.local/share/applications/
Ejecución periódica

¿Y si lo que quieres es que este script se ejecute de forma periódica? Me refiero a que se ejecute cada 5 minutos, o cada media hora por ejemplo. De esta manera, tu ya no tendrías que hacer absolutamente nada.

Para hacer esto, de nuevo te remito al tutorial sobre trabajando con Systemd, en el que explico con detalle como crear un servicio en Systemd, y como sustituir cron por los timer, como te mostraré a continuación.

En este caso, puedes montar un servicio sencillo con su correspondiente timer que se encargue de esto. Fíjate, el servicio sería tan sencillo como esto,

[Unit]
Description=Monitor directory

[Service]
ExecStart=/bin/bash /home/lorenzo/.local/bin/sort.sh

[Install]
WantedBy=multi-user.target

Y por otro lado, necesitas el timer, que es tan sencillo como lo que te muestro a continuación,

[Unit]
Description=Look in monitor folder

[Timer]
OnCalendar=*:0/5

[Install]
WantedBy=timers.target

Copia estos dos archivos a su lugar de destino, habilita e inicia el timer siguiendo las instrucciones que te muestro a continuación,

cp monitor-dir.service ~/.config/systemd/user
cp monitor-dir.timer ~/.config/systemd/user
systemctl --user daemon-reload
systemctl --user enable monitor-dir.timer
systemctl --user start monitor-dir.timer

Con esto ya tendrías el directorio de descargas monitorizado cada 5 minutos, o según el tiempo que quieras poner, claro.

Recuerda que para detener esta ejecución periódica, tienes que ejecutar las siguiente instrucción,

systemctl --user stop monitor-dir.timer

En el caso de que la quisieras deshabilitar, simplemente ejecuta además esta otra instrucción,

systemctl --user disable monitor-dir.timer
Monitorización

Si lo que quieres es despreocuparte por completo, no tener que ejecutar ningún tipo de script ni de forma manual, ni de forma periódica, te propongo, que utilices incron, conforme te cuento en el artículo sobre monitorización de directorios.

incron es un demonio que se encarga de la monitorización de directorios. Para esto, tan solo tienes que instalar esta herramienta tal y como te cuento en el artículo. Añadir a tu usuario a la lista de usuarios autorizados para utilizar este demonito, y editar las operaciones.

Desde el punto de vista operacional, te recordará mucho al funcionamiento de cron. Así, para añadir las tareas, tienes que utilizar la herramienta incrontab -e, y añadir lo siguiente,

/home/lorenzo/temporal/ejemplo IN_CREATE,IN_MOVED_TO /home/lorenzo/.local/bin/sorter.sh

Si quieres ver como ha quedado la lista de tareas, solo tienes que ejecutar la herramienta incrontab -l. Si todo ha ido bien, te debería mostrar la línea anterior. Eso si, particularizada a tus necesidades.

Conclusiones

Aquí tienes un buen conjunto de opciones para hacerte la vida mas fácil, y dejar de tener el directorio ~/Descargas como un estercolero. Tienes de la opción más cómoda hasta la mas personal.

Evidentemente la mas personal es la que te va a permitir adaptar todo el proceso a exactamente tus necesidades. Sin embargo, a pesar de ser la mas personal, como has podido ver, no es nada complicada. Ahora, solo depende de lo que tu quieras hacer.


Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Imagen de portada de UX Indonesia en Unsplash

La entrada Organizar tus archivos automágicamente o un hazlo tu mismo aparece primero en El atareao.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.