In che modo Robocopy determina se un file è "cambiato"?


14

Sto cercando qui informazioni dettagliate su come l'algoritmo di Robocopy determina se un file è stato modificato o meno. Se utilizzo ad esempio il parametro / mir, Robocopy deve determinare quali file sono stati modificati e quali no. Usa il timestamp modificato o le dimensioni dei file, hash una combinazione di tutti?

È interessante notare che non ne dice nulla nella documentazione.

Risposte:


22

Ok. dopo aver trascorso la giornata alla ricerca di questo, leggendo la documentazione e testando per me stesso (tutti con lo stesso risultato), ho la risposta.

Una risposta breve è: il valore predefinito di Robocopy è (a meno che non si specifichi qualcosa di diverso tramite parametri) che copierà qualsiasi file in cui il timestamp O il dimensione del file differisce . Ricorda le copie SEMPRE Robocopy da sorgente a destinazione. Quindi, se nella destinazione è presente un nuovo file AND di dimensioni maggiori, Robocopy lo sovrascriverà con il file più vecchio e più piccolo di origine (ecco perché metto l'accento sulla parola "differisce" - non è più nuovo o più grandi , solo diverso).

Ad un livello più profondo, puoi controllare con l'opzione / it anche se gli attributi di un file differiscono e copiare quelli che differiscono anche - anche se il file e il Timestamp sono uguali (OK, per il 100%, non so se copierà il file o solo gli attributi mancanti, ma poiché i file sono identici, il risultato sarà lo stesso).

Ho trovato la lunga documentazione che è stata citata nell'altro thread - si tratta della versione XP010 (credo fosse Windows XP). Ma semplicemente non c'è documentazione più recente per robocopy. Puoi trovare la documentazione qui:

http://theether.net/download/Microsoft/Utilities/robocopy.pdf (Leggi la sezione "Uso delle classi di file Robocopy", tutto è ben definito lì)

La documentazione riguarda una versione più vecchia di Robocopy (in Win7 di solito hai la versione XP027) - ma puoi controllare le modifiche della versione su questo sito - che ha una panoramica molto accurata:

http://yarcgui.wilkes.es/De/RoboCopy/index.htm

La linea di fondo è che non ci sono molte differenze tra XP e Win7 - solo quelli minori e le modifiche dovevano aggiungere dei parametri - non per alterarli (ad eccezione del parametro / mir). E penso che sia sicuro dire che il meccanismo di comparazione non sarà cambiato - dal momento che sarebbe una cosa enorme se paragonata al piccolo cambiamento nell'aggiunta di alcuni parametri.

Questo è probabilmente il motivo per cui non c'è nuova documentazione.

Spero che ti aiuti se stai cercando le stesse informazioni e stai leggendo questo. Ho cercato di essere preciso e ho fatto le mie ricerche con cura.


Usa i timestamp creati, modificati o entrambi?
user643011
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.