Wie kopiere ich nur neue Dateien von einem Ordner in einen anderen UND nur diejenigen, die in den letzten 5 Minuten hinzugefügt wurden?

Wie kopiere ich nur neue Dateien von einem Ordner in einen anderen UND nur diejenigen, die in den letzten 5 Minuten hinzugefügt wurden?

Ich möchte Dateien von einem Laufwerk auf ein anderes kopieren, aber ich möchte nur Quelldateien kopieren, die neuer sind als die Zieldatei. ABER ich möchte auch nur Quelldateien kopieren, die in den letzten 5 Minuten geändert wurden.

Ich habe eine Datei mit der Erweiterung .bat erstellt und diesen Befehl verwendet:

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

Aber dieser Befehl ist für das Datum.

Antwort1

Dieses PowerShell-Skript:

(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"

in eine Batchdatei verpackt:

:: 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%\"
)

So wie es ist, werden nur Dateien kopiert, die in den letzten 5 Minuten erstellt/geändert wurden. Wenn ich das falsch verstanden habe
und Sie Dateien meinen, die älter als 5 Minuten sind, ändern Sie das -gtin -lt.

verwandte Informationen