Як Robocopy визначає, чи файл "змінено"?


17

Я шукаю тут детальну інформацію про те, як алгоритм роботи Robocopy визначає, змінився файл чи ні. Якщо я використовую, наприклад, параметр / mir, Robocopy повинен визначити, які файли змінено, а які ні. Він використовує змінену часову позначку або розміри файлів, хеширує комбінацію всіх?

Цікаво, що про це в документації нічого не сказано.

Відповіді:


25

Добре, витративши день на це, вивчаючи це, читаючи документацію та тестуючи для себе (все з тим же результатом), у мене є відповідь.

Коротка відповідь: за замовчуванням значення Robocopy (якщо ви не вказали щось інше через параметри), воно буде копіювати будь-який файл, де розмітка часу або розмір файлу відрізняється . Запам’ятайте Робокопію ЗАВЖДИ копій від джерела до пункту призначення. Отже, якщо у вас є новий і більший файл у пункті призначення, Robocopy замінить його на старший і менший файл із джерела (саме тому я ставлю наголос на слові "відрізняється" - це не новіше чи більше , просто інше).

На більш глибокому рівні ви можете перевірити параметр / it, навіть якщо атрибути файлу відрізняються, а також скопіювати ті, що відрізняються - навіть якщо розмір файлів і Timestamp однакові (ОК, на 100%, я не знаю, чи це скопіює файл або лише відсутні атрибути, але оскільки файли однакові, результат буде однаковим).

Я знайшов довгу документацію, яку цитували в іншій темі - мова йде про версію XP010 (я думаю, це був Windows XP). Але новішої документації на роботокопію просто немає. Документацію ви можете знайти тут:

http://theether.net/download/Microsoft/Utilities/robocopy.pdf (Прочитайте розділ "Використання файлів файлів Robocopy", там все викладено досить точно)

Документація стосується старішої версії Robocopy (під Win7 у вас зазвичай версія XP027) - але ви можете перевірити зміни версії на цьому веб-сайті - який має дуже акуратний огляд:

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

Суть полягає в тому, що між XP і Win7 не існує великої різниці - лише незначні, і зміни повинні були додавати параметри - не змінювати їх (за винятком параметра / mir). І я думаю, що можна впевнено сказати, що механізм порівняння не змінився - оскільки це було б величезною річчю порівняно з дуже малою зміною додавання ще декількох параметрів.

Це, мабуть, причина того, що немає нової документації.

Сподіваємось, що це допоможе, якщо ви шукаєте ту саму інформацію та читаєте її. Я намагався бути точним і ретельно робив свої дослідження.


2
Він використовує створені, модифіковані або обидві часові позначки?
user643011

@ user54512 Я взагалі не розумію .. тож він використовує часові позначки чи хеші?
Шаян

1
@shayan: його написано там, якщо Timestamp OR Filesize відрізняється, він буде копіювати з джерела до місця призначення. Немає хешів. Відпочинок знаходиться в документації, яку я розміщую за посиланням.
користувач54512
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.