Búsqueda de sitios web

PowerShell: Cómo eliminar archivos de más de X días


Puede utilizar la siguiente sintaxis en PowerShell para eliminar todos los archivos de un directorio que tengan más de una cantidad específica de días:

Get-ChildItem -Recurse -File | Where LastWriteTime -lt (Get-Date).AddDays(-10) | Remove-Item -Force

Este ejemplo en particular elimina todos los archivos del directorio actual que tienen más de 10 días.

Tenga en cuenta que utilizamos LastWriteTime para extraer la fecha y hora de la última modificación de un archivo.

Si lo desea, puede utilizar CreationTime para utilizar en su lugar la fecha y hora en que se creó un archivo por última vez.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: Cómo eliminar todos los archivos de más de X días usando PowerShell

Supongamos que queremos eliminar todos los archivos de nuestro directorio actual que se modificaron hace más de 10 días.

Primero, podemos usar el comando Dir para ver cada uno de los archivos en nuestro directorio actual:

Podemos ver que hay cinco archivos en este directorio con varias fechas y horas LastWriteTime.

Tenga en cuenta que este artículo se está escribiendo actualmente el 12/6/2024. Supongamos que queremos eliminar todos los archivos que tengan más de 10 días.

Podemos utilizar la siguiente sintaxis para hacerlo:

Get-ChildItem -Recurse -File | Where LastWriteTime -lt (Get-Date).AddDays(-10) | Remove-Item -Force

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que cuando ejecutamos el comando Dir nuevamente, podemos ver que los dos archivos que tenían más de 10 días se eliminaron del directorio.

Nota: Siéntase libre de cambiar el -10 en la función AddDays() en el código para eliminar archivos que tengan más de un número diferente. de días.

Artículos relacionados