Как Robocopy определяет, «файл изменен»,

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

Интересно, что об этом ничего не говорится в документации.

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

Короткий ответ: значение Robocopy по умолчанию (если вы не укажете что-то другое через параметры), что оно скопирует любой файл, в котором значение Timestamp или размер файла отличается . Помните Robocopy ВСЕГДА копии от Source to Destination. Поэтому, если у вас есть новый и более крупный файл в назначении, Robocopy перезапишет его старым и меньшим файлом из источника (вот почему я подчеркиваю, что слово отличается – оно не новее и не просто просто отличается).

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

Я нашел длинную документацию, которая цитировалась в другом потоке – речь идет о версии XP010 (я предполагаю, что это была Windows XP). Но нет никакой новой документации для robocopy. Документацию можно найти здесь:

http://theether.net/download/Microsoft/Utilities/robocopy.pdf (прочитайте раздел «Использование классов файлов Robocopy», все там выложено довольно точно)

Документация относится к более ранней версии Robocopy (под Win7 вы обычно имеете версию XP027), но вы можете проверить изменения версии на этом сайте, которая имеет очень аккуратный обзор:

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

Суть в том, что между даже XP и win7 не так много различий – только незначительные, а изменения заключались в том, чтобы добавлять параметры – не изменять их (за исключением параметра / mir). И я думаю, что безопасно сказать, что механизм сравнения не изменился – поскольку это было бы огромной вещью по сравнению с очень небольшим изменением добавления еще нескольких параметров.

Вероятно, это является причиной отсутствия новой документации.

Надеюсь, что это поможет, если вы ищете ту же информацию и читаете это. Я старался быть точным и делал свое исследование с осторожностью.

Он использует отметки времени.

Время файла

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290(v=vs.85).aspx

  • Как можно скопировать и переименовать файл в Windows?
  • Robocopy: показывать пропущенные файлы и файлы с ошибкой при копировании
  • Получение ROBOCOPY для возврата «правильного» кода выхода?
  • Interesting Posts

    Как изменить букву USB-накопителя без оснастки «Управление дисками»

    Могу ли я записывать / воспроизводить macros в Visual Studio 2012/2013/2015/2017?

    Шифрование AES в Java и расшифровка в C #

    Как проверить целостность avi-файла и восстановить его автоматически в Linux?

    Каков правильный способ перегрузить operator == для иерархии classов?

    Изменение DNS со сценарием

    Как реализовать функцию getch () для C в Linux?

    MongoDB SELECT COUNT GROUP BY

    Установить представление папки по умолчанию в Windows

    jquery scroll, изменить активный class навигации, поскольку страница прокручивается относительно разделов

    Изменение цвета фона выбранного элемента в recyclerview

    Как я могу получить примитивное имя типа в C #?

    Поместить в bash или zsh history абсолютный путь к файлам, над которыми я работаю

    Как удалить функциональность подразделения из репозиториев с помощью IOC

    Должен ли я отключить USB-накопитель, прежде чем отключать его?

    Давайте будем гением компьютера.