Borrado ficheros antiguos script powershell

Borrado de ficheros antiguos mediante scripts de PowerShell

Compartir

Acompañamos en este artículo y descubre cómo puedes hacer el borrado de ficheros antiguos mediante scripts de PowerShell para que elimine los ficheros que tengan una fecha de creación más antigua que una fecha concreta.

En ocasiones, los administradores de sistemas podemos necesitar limpiar directorios, como por ejemplo temporales, ficheros de logs, unidades de intercambio, etc. Por desgracia, muchas veces no nos queda otra que revisar los datos de manera manual, para discriminar unos y otros.

En algunos casos, puede ser necesario que eliminemos los datos que tengan una antigüedad dada. Para estos casos, proponemos un script muy sencillo, que podemos lanzar de manera manual o mediante su incorporación a una tarea programada que se ejecute cada X tiempo.

Aquí vamos a darte la opción de elegir entre:

  • Si quieres aprender las distintas opciones de este comando sigue leyendo normalmente.
  • Si solo te interesa el comando o script en sí y te quieres ahorrar leer la explicación pincha aquí.

 

¿Cómo hacer el borrado de ficheros antiguos mediante scripts de PowerShell?

El comando que proponemos tiene la siguiente forma:

Get-ChildItem -Path «<RUTA_A_REVISAR>» -Recurse | Where-Object CreationTime -LT (Get-Date).AddDays(-<DIAS>) | Remove-Item

Donde:

  • Get-ChildItem: Permite realizar el listado de los ficheros y directorios que hay en una ruta.
  • -Path «<RUTA_A_REVISAR>»: Definimos la ruta a partir de donde se hace el listado.
  • -Recurse: Hace recursivo desde la ruta definida en “Path”.
  • |: Pasa la salida del primer comando hacia los comandos que hay a continuación.
  • Where-Object CreationTime -LT (Get-Date).AddDays(-<DIAS>): Se hace una comprobación de los ficheros más antiguos de unos días descritos en <DIAS> de forma numérica.
  • Remove-Item: Elimina los ficheros que cumplan con lo anterior.

Un ejemplo podría ser el siguiente en el que buscamos eliminar los ficheros con más de una semana de la ruta «C:\Drivers\lj368\»:

Get-ChildItem -Path «C:\Drivers\lj368\» -Recurse | Where-Object CreationTime -LT (Get-Date).AddDays(-7) | Remove-Item

En este caso hemos decidido hacer el borrado de los ficheros, pero quizá prefiramos mostrarlos por pantalla o escribirlos en un fichero para revisarlos después.

Imagen. Revisión y eliminación de los ficheros más antiguos mediante scripts de PowerShell
Imagen. Revisión y eliminación de los ficheros más antiguos mediante scripts de PowerShell

 

Borrado de ficheros antiguos mediante scripts de PowerShell:

Si solo quieres ejecutarlo, sin perder el tiempo en aprender para qué sirve cada comando, puedes ejecutar el siguiente comando:

Get-ChildItem -Path «<RUTA_A_REVISAR>» -Recurse | Where-Object CreationTime -LT (Get-Date).AddDays(-<DIAS>) | Remove-Item

Sustituyendo las siguientes cadenas por los valores indicados:

  • <RUTA_A_REVISAR>: Deberás definir la ruta donde se hace el listado.
  • <DIAS>: El número de días en forma numérica.

Y con eso solo tendríamos que lanzar el «oneline» y esperar mientras se ejecuta.

 

Conclusiones:

Como puedes ver, el borrado de ficheros antiguos mediante scripts de PowerShell nos permite borrar los ficheros que tengan más de un tiempo dado. Usando un par de comandos bien encadenados se puede realizar la tarea de manera semiautomática (pudiendo automatizarla mediante su programación).

La ejecución es sencilla y debería estar soportada por todos los sistemas Microsoft Windows actuales ya que son cmdlets básicos de PowerShell, pero si encontraras algún problema en su ejecución puedes contactar con nosotros para que intentemos echarte una mano.

Si quieres aprender otros scripts y trucos de PowerShell puedes echar un ojo a nuestro blog.

¡Gracias por leernos!

Categorías:Recursos Sysadmin

Otros posts que te pueden interesar

29 de abril de 2024
Quédate con nosotros y descubre las 5 principales causas de la pérdida de datos en las pyme españolas y
23 de abril de 2024
Acompáñanos en este artículo en el que trataremos de ver cómo evaluar riesgos y amenazas en la pyme. Uno
20 de febrero de 2024
Acompáñanos en este artículo en el que trataremos uno de esos “pains” a los que se enfrenta toda pyme,

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.