¿Cómo copiar solo archivos nuevos de una carpeta a otra Y solo aquellos que se agregan antes de los 5 minutos?

¿Cómo copiar solo archivos nuevos de una carpeta a otra Y solo aquellos que se agregan antes de los 5 minutos?

Me gustaría copiar archivos de una unidad a otra, pero solo quiero copiar archivos de origen que sean más recientes que el archivo de destino. PERO, también quiero copiar solo los archivos fuente que se hayan modificado en los últimos 5 minutos.

Creé un archivo con extensión .bat y usé este comando:

xcopy "C:\Users\Pictures\Newfolder"  "C:\Users\Pictures\Newfolder2\" /d:03/29/2019

Pero este comando es para la fecha.

Respuesta1

Este script de PowerShell:

(Get-ChildItem 'C:\Users\Pictures\Newfolder' |
    Where {!($_.PSIsContainer) -and
           ($_.LastWriteTime -gt [datetime]::now.AddMinutes(-5)) -and 
           (!(Test-Path (Join-Path 'C:\Users\Pictures\Newfolder2' $_.Name)))}).FullName"

envuelto en un archivo por lotes:

:: Q:\Test\2019\03\29\SU_1419009.cmd
@Echo off
Set "Src=C:\Users\Pictures\Newfolder"  
Set "Dst=C:\Users\Pictures\Newfolder2"

For /f "usebackq delims=" %%A in (`
    powershell -NoP -C "(Get-ChildItem '%Src%'|Where {!($_.PSIsContainer) -and ($_.LastWriteTime -gt [datetime]::now.AddMinutes(-5)) -and (!(Test-Path (Join-Path '%Dst%' $_.Name)))}).FullName"
`) Do (
echo Copy "%%A" "%Dst%\"
     Copy "%%A" "%Dst%\"
)

Como es, esto copiará solo los archivos creados/cambiados en los últimos 5 minutos, si me equivoqué
y te refieres a archivos de más de 5 minutos, cambia el archivo -gta -lt.

información relacionada