
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:
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:
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
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:
Y con eso solo tendríamos que lanzar el «oneline» y esperar mientras se ejecuta.
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!