Wie kopiere ich nur neue Dateien UND nur solche, die nach einem bestimmten Datum geändert wurden?

25

Ich möchte Dateien von einem Laufwerk auf ein anderes kopieren, möchte jedoch nur Quelldateien kopieren, die neuer sind als die Zieldatei. ABER ich möchte auch nur Quelldateien kopieren, die nach einem bestimmten Datum geändert wurden.

Ich weiß, dass ich xcopy verwenden kann, um eines dieser Dinge zu tun, aber ich möchte beides gleichzeitig tun.

Ich möchte zum Beispiel alle Quelldateien kopieren, die am oder nach dem 01.03.2013 erstellt wurden, aber zusätzlich möchte ich, dass die Datei nur kopiert wird, wenn die Quelldatei neuer als das Ziel ist. Im Idealfall würde ich so etwas machen:

xcopy c:\*.* e:\*.* /D:03-01-2013

kombiniert mit so etwas:

xcopy c:\*.* e:\*.* /D

Kann das mit xcopy oder Robocopy gemacht werden?

PaulStock
quelle

Antworten:

23

Damit bekommen Sie wahrscheinlich, was Sie wollen:

Robocopy c:\ e:\ *.* /MAXAGE:20130301 /XO /E

Fügen Sie den /LBefehl hinzu, um zu sehen, wie es funktioniert, ohne dass es dies zuerst tut, nur um sicherzugehen.

Weitere Informationen zu den Optionen von Robocopy finden Sie hier .

Rabbid10
quelle
2

Verwenden Sie einfach beide Optionen im selben Befehl:

xcopy c:\*.* e:\*.* /D /D:03-01-2013

hol dir was du willst.

Malcolm
quelle
Wie würden Sie es tun, wenn die Datei mindestens 1 Stunde alt sein soll? Mit anderen Worten, ein relatives Alter von jetzt an, kein absolutes Alter?
Toddmo
@toddmo Es sieht so aus, als könnten sowohl xcopy als auch Robocopy nur nach Datum und nicht nach Uhrzeit filtern. Sie müssten ein anderes Dienstprogramm oder eine FOR-Schleife mit dem Befehl DIR / O: D verwenden.
Malcolm
RoboCopy kann Minage und Maxage verwenden , jedoch nur auf Tages- und nicht auf Stundenebene. Sie können hier auch einige andere Tools und Stapelskripte lesen, die Dateien kopieren, die 1 Stunde alt sind .
Sun