Búsqueda de sitios web

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


Puede utilizar la siguiente sintaxis en PowerShell para mover 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) |
Move-Item -Destination 'c:/users/bobbi/data1'

Este ejemplo en particular mueve todos los archivos del directorio actual que tienen más de 10 días a una carpeta diferente llamada data1 en una ubicación específica.

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

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

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

Primero, podemos usar el comando Get-ChildItem -File 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 6/7/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) |
Move-Item -Destination 'c:/users/bobbi/data1'

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

Observe que cuando ejecutamos el cmdlet Get-ChildItem nuevamente, podemos ver que los dos archivos que tenían más de 10 días se han movido del directorio.

Podemos usar el cmdlet Get-ChildItem para ver también los archivos en la carpeta data1:

Podemos ver que ambos archivos que tenían más de 10 días en la carpeta data2 se movieron correctamente a la carpeta data1.

Nota: Siéntase libre de cambiar el -10 en la función AddDays() en el código para mover archivos que tengan una antigüedad mayor a un número diferente. de días.

Artículos relacionados