Existen muchas tareas que podemos llevar a cabo usando Windows PowerShell en Windows siendo de todo tipo, redes, usuarios, discos, etc, pero una que quizás muy poco usamos es la posibilidad de borrar archivos que han sido creados en un periodo de terminado de tiempo, esto es practico cuando dentro de nuestro equipo se crean y ejecutan tareas que almacenan grandes cantidades de datos, como registros o logs, y esto poco a poco llena el espacio del disco y en realidad poco o nada accedemos a ella.
Windows PowerShell nos da la posibilidad de borrar estos archivos y hoy en Solvetic veremos cómo borrar estos archivos de forma simple y funcional.
Para ello tenemos los siguientes datos:
Podemos ver en la columna Fecha de creación diversas fechas, PowerShell se encarga de comparar estas fechas de creación y eliminar los archivos que estén basados por la condición que indiquemos.
Para realizar esta tarea llevaremos a cabo la ejecución de este borrado, accederemos a Windows PowerShell como administradores y ejecutaremos la siguiente sintaxis:
Get-ChildItem -Path "Ruta" -Recurse | Where-Object CreationTime -LT (Get-Date).AddDays(-10) | Remove-Item
Este cmdlet está compuesto por lo siguiente:
En este ejemplo eliminaremos los archivos que hayan sido creados 10 días antes de la fecha actual:
Podemos ver el cambio producido:
Podemos ver que el o los archivos que fueron creados antes de estos diez días han sido eliminados.
Si deseamos, podemos añadir este script en el programador de tareas para que automáticamente sea llevada a cabo esta acción y así liberar espacio en el disco.
"Get-ChildItem" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
Recibo este problema