Come copiare solo i nuovi file E solo quelli che vengono modificati dopo una certa data?


25

Vorrei copiare i file da un'unità a un'altra, ma voglio solo copiare i file di origine più recenti del file di destinazione. MA , voglio anche solo copiare i file sorgente che sono stati modificati dopo una certa data.

So che posso usare xcopy per fare una di queste due cose, ma vorrei fare entrambe le cose contemporaneamente.

Quindi, ad esempio, desidero copiare tutti i file di origine datati in data 01/03/2013 o successivi, ma in più desidero copiare il file solo se il file di origine è più recente della destinazione. Quindi idealmente vorrei fare qualcosa del genere:

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

combinato con qualcosa del genere:

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

Questo può essere fatto con xcopy o Robocopy?

Risposte:


23

Questo probabilmente ti porterà quello che vuoi:

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

Aggiungi il /Lcomando a questo per vedere cosa farà senza che lo faccia effettivamente prima, per essere sicuro.

Controlla qui per maggiori informazioni sulle opzioni di Robocopy.


2

Usa entrambe le opzioni con lo stesso comando:

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

ti dà quello che vuoi.


Come lo faresti se desideri che il file abbia almeno 1 ora? In altre parole, un'età relativa da adesso, non un'età assoluta?
toddmo

@toddmo Sembra che sia xcopy sia Robocopy possano filtrare solo per data, non per ora. Dovresti usare qualche altra utility, o qualcosa come un ciclo FOR con il comando DIR / O: D.
Malcolm,

RoboCopy può utilizzare minage e maxage , ma è solo a livello di giorno, non di ora. Puoi anche leggere qui alcuni altri strumenti e script batch che copieranno file vecchi di 1 ora .
Sun

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.