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.


