Como eliminar archivos con una antigüedad mayor a X días mediante PowerShell

Hoy voy a enseñaros un pequeño script el cual seguramente a aquellos que os dedicáis a la administración de sistemas os será de mucha utilidad ya que os permitirá eliminar archivos con una antigüedad mayor a una serie de días que especifiquemos. Esto es muy útil para por ejemplo eliminar los típicos .bak que se nos van quedando antiguos y no hacen otra cosa que ocuparnos espacio.

Eliminar todos los archivos de un directorio

En el script que os voy a mostrar a continuación vamos a eliminar todos los archivos que se encuentren dentro de un directorio concreto y que tengan una antigüedad mayor a 3 días desde su fecha de creación.

Nota: Como os imaginareis podéis cambiar la antigüedad simplemente cambiando el parámetro -3.

Get-ChildItem -Path "C:\ruta_directorio" -Recurse |
Where-Object CreationTime -LT (Get-Date).AddDays(-3) | Remove-Item

Eliminar todos los archivos de un directorio con una extensión concreta

Si queremos darle una vuelta de tuerca al script y eliminar sólo aquellos archivos de un directorio concreto, con una antigüedad mayor a 3 días y que además, por ejemplo, tenga la extensión .bak tendremos que modificar un poco el script:

Get-ChildItem -Path "C:\ruta_directorio" -Include *.bak -Recurse |
Where-Object CreationTime -LT (Get-Date).AddDays(-3) | Remove-Item

Y listo esto sería todo aunque si queréis automatizar la tarea para que se ejecute todos los días y no tengáis que hacerlo de forma manual mi recomendación es que os creéis una tarea programada de Windows que se encargue de ejecutar el script de forma totalmente automática.

Espero os haya sido de utilidad.

Entradas relacionadas

Deja un comentario

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