Omicrono, la tecnología de El Español

Omicrono

Eliminar archivos viejos en Windows con este script automático

Eliminar archivos viejos en Windows con este script automático

Este código BATCH para Windows nos permite eliminar archivos anteriores a un número de días.

Si estás cansado de acumular archivos viejos en tu ordenador, puedes programarlo para que se eliminen todos los archivos que tengas en una carpeta concreta cuando lleven ahí un tiempo concreto. Puedes hacer, por ejemplo, que los archivos de la carpeta de descargas de tu PC se eliminen cuando ‘cumplan’ un mes, o el tiempo que quieras.

Esto se podrá hacer en la próxima versión de Windows de forma nativa, algo que ya se está probando en la beta de la versión Redstone 4, pero también podemos hacerlo en las versiones actuales de Windows desde la consola de Windows simplemente tecleando una sencilla línea de código que ahora explicaremos detalladamente.

Un script que elimina los archivos antiguos por nosotros

Realmente lo que haremos será ejecutar un script que eliminará los archivos de una carpeta concreta, como decimos, cuando alcancen la antigüedad que hayamos elegido. Esto es útil, por ejemplo, no solo para la carpeta de descargas o para alguna carpeta de archivos temporales en concreto, sino también, por ejemplo, para limpiar el escritorio, pues en muchas ocasiones vamos acumulando cosas ahí que no borramos nunca.

Vamos con la ejecución del código: lo primero que tenemos que hacer es ejecutar Windows PowerShell como administrador, tecleándolo en el menú de Windows, además de hacer clic derecho y escoger la opción Ejecutar como administrador; una vez se haya abierto el programa y hayamos confirmado que se ejecute como administrador, tecleamos el siguiente código que está dentro de las comillas bajas: «ForFiles /p “C:\Users\Username\Downloads” /s /d –30 /c “cmd /c del @file”».

Y esta es la interpretación del código mostrado:

  • ‘/p’ representa la ubicación de la carpeta donde queremos que el comando se ejecute.
  • ‘/s’ este otro significa que el comando también actuará dentro de los subdirectorios en caso de que existan.
  • ‘/d’ es el indicador de tiempo en días
  • ‘/c’ envía el comando (siguiente) a ejecutar.
  • ‘del’ es el comando eliminar
  • ‘@file’ aplicará el comando a todos los archivos independientemente de su nombre y extensión.

Las cosas que podemos cambiar es la ubicación y el número de días en el que queramos que se elimine. El resto de comandos necesitan algo más de pericia con este tipo de códigos BATCH para poder modificarlos.

Cómo automatizar el código que elimina los archivos antiguos

Tal cual está, el código no se automático, es decir, no se ejecuta cada vez que se enciende el ordenador, sino que tenemos que ejecutarlo nosotros. Para ello, podemos crear un archivo BATCH (abrimos el Bloc de notas, pegamos el código y lo guardamos con extensión .bat) que se autoejecutará con el encendido de ordenador con el siguiente código (igualmente sin las comillas bajas):

«@echo off
ForFiles /p “C:\Users\Username\Downloads” /s /d –30 /c “cmd /c del @file”
end»

El archivo resultante, que, como decimos, debe ser guardado como extensión .bat, lo pegaremos en la ubicación de aplicaciones que se ejecutan al iniciar sesión, a la que se accede pulsando las teclas Windows + ‘R’ y tecleando «shell:startup». Entonces, cada vez que se encienda el ordenador, se ejecutará también este código que hará lo que le hemos indicado (eliminar los archivos de cierta ubicación que tengan una antigüedad superior a tantos días).