Перейти к содержанию

Как сравнить содержимое двух папок и синхронизировать их

Предположим, вы создали задачу резервного копирования XCOPY, SyncToy или любой другой инструмент для зеркального копирования определенного каталога в другое место. Если вы используете Microsoft SyncToy, особенно в Windows 10, возможно, иногда файлы или папки могут отсутствовать в месте назначения или в папке назначения есть дополнительные файлы или папки, которых нет в исходной папке.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-3-0’)};

сравнить две папки и список файлов

В этой статье рассказывается, как сравнить структуру каталогов (вместе с файлами) в двух разных путях каталогов, чтобы убедиться, что у вас есть точная реплика или зеркальная копия источника. Некоторые из приведенных ниже методов также обсуждают, как синхронизировать элементы в двух папках после сравнения.

В этой статье обсуждаются 13 методов сравнения папок (для Windows). Выберите тот, который вам больше всего подходит. Если вам необходимо проверить целостность файла после синхронизации, используйте одну из следующих процедур проверки контрольной суммы хэша.

Способы сравнения двух папок:

Методы графического интерфейса:

  1. Microsoft WinDiff
    • Синхронизировать папки с помощью WinDiff
  2. WinMerge
    • Синхронизировать папки с помощью WinMerge
  3. Total Commander
    • Синхронизируйте папки с помощью TotalCommander
  4. FreeFileSync
    • Синхронизация папок с помощью FreeFileSync
    • Сравните и синхронизируйте локальную папку Vs. Папка FTP рекурсивно
  5. SyncFolders
    • Синхронизировать папки с SyncFolders (поддерживает проверку контрольной суммы хэша)
  6. DSynchronize
    • Автоматическая синхронизация папок в в реальном времени
  7. Утилита HashMyFiles (сравнение контрольной суммы хэша)

Методы командной строки:

  1. Робокопия
    • Синхронизируйте папки с помощью Robocopy
  2. Утилита FCIV (сравнение контрольной суммы хэша)
  3. PowerShell
  4. PowerShell (со сравнением контрольной суммы хэша)
  5. Составьте список файлов и папок с помощью команды ДЕРЕВО и сравните их
  6. Составьте список файлов и папок с помощью команды DIR и сравните их

Выбор редактора:

  • Для сравнения папок: WinDiff (благодаря простому пользовательскому интерфейсу).
  • Для синхронизации папок: FreeFileSync для GUI и метод Robocopy CLI.

Сравните содержимое двух папок с помощью Microsoft WinDiff

WinDiff — это графический инструмент для сравнения файлов от Microsoft, который был впервые выпущен в 1992 году и впоследствии обновлен. Пожалуйста, держись! Не удивляйтесь, когда будет выпущен первый выпуск.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-4-0’)};

WinDiff по-прежнему великолепен и отлично работает в Windows 10, но не поддерживает Unicode. У него огромный потенциал. WinDiff может сравнивать файлы ASCII и двоичные файлы, сравнивать два каталога и синхронизировать папки (левая папка → правая папка или наоборот).

Ссылка для скачивания WinDiff (локальное зеркало). Последняя обновленная версия WinDiff — 5.2.3790.0 с отметкой «Дата изменения», показывающей 4-7-2016.

Вы также можете загрузить WinDiff как часть пакета средств поддержки Windows XP и извлечь его содержимое с помощью 7-Zip.

Чтобы выполнить сравнение каталогов с помощью WinDiff:

  1. Запустите Windiff.exe.
  2. В меню «Файл» выберите «Сравнить каталоги».
  3. В диалоговом окне «Выбор каталогов» введите имена двух папок, которые вы хотите сравнить, в полях «Dir1» и «Dir2». Если вы хотите рекурсивно сравнивать файлы в этих папках, установите флажок Включить подкаталоги.
    сравнить содержимое двух папок в windows

В результатах или в окне схемы по умолчанию отображаются как идентичные файлы, так и различия. Вы можете скрыть идентичные файлы, отключив параметр «Показывать идентичные файлы» в меню «Параметры».

сравнить содержимое двух папок в windows

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-banner-1-0’)};Как видите, WinDiff не просто сравнивает имена файлов, но также сравнивает содержимое файлов в обоих местах и ​​выделяет изменения, если содержимое файла отличается.

сравнить содержимое двух папок в windows

Двойной щелчок по «другому» элементу открывает окно сравнения с цветовым кодированием. Результаты с цветовой кодировкой показывают, в чем заключаются различия в файлах.

WinDiff может выполнять сравнение ASCII и двоичного кода. Это означает, что WinDiff не полагается на дату изменения, а сравнивает фактическое содержимое файлов.

Например, я изменил символ в текстовом файле в папке назначения (Правая папка). Я заменил восклицательный знак двоеточием, и размер файла точно такой же (1127 байт) в обоих местах. WinDiff подхватил и показал, что файлы разные.

сравнить содержимое двух папок в windowsif(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-leader-1-0’)};

Чтобы сохранить различия в сравнении каталогов в файл, нажмите «Сохранить список файлов» в меню «Файл». Введите имя файла с полным путем без двойных кавычек.

сравнить содержимое двух папок в windows

Снимите флажки «Идентичные файлы» и «Включить контрольные суммы» и нажмите «ОК». Выходной файл будет выглядеть так:

- D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019: E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 - включает только левый, только правый , разные файлы . \ accesschk.exe только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ compare-folder.txt только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ fta-1803-w10.txt только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ ssh-commands-полезный.txt только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 05 \ dell-supportassist.png только в D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 05 \ disable-theme-sync-ramesh.png другой (E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 является более поздним) . \ 05 \ file-explorer-not-highlight-files.png только в D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 05 \ firefox-Forgot-about-this-site-4.png different (E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 является более поздним) . \ 05 \ msconfig-disable-services-non-microsoft.png только в D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 05 \ windows-store-error-0x800706d9.png только в D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ notepad-bing-search.png только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ rundll32-refresh-commands.txt только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ archives \ 404chk.vbs только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ archives \ actxprxy-missing-issues.txt только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ archives \ apps.png только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ archives \ article.vbs только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 . \ 06 \ archives \ bash-sh.vbs только в E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 - 17 файлов в списке

Поскольку выходной файл имеет формат с разделителями табуляции, вы легко сможете импортировать его в Microsoft Office Excel или Google Sheets.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-banner-2-0’)};Эзойскийпожаловаться на это объявление

сравнить содержимое двух папок в windows - windiff

Обратите внимание, что вы можете запустить WinDiff напрямую, указав пути источника и назначения в качестве дополнительных переключателей для сравнения каталогов. Например, запуск windiff.exe «c: \ source» «d: \ destination» запустит инструмент и сразу же сравнит пути к этим двум папкам.

Параметры командной строки WinDiff

Вот полный список переключателей командной строки WinDiff.

Использование:
windiff [параметры] путь1 [путь2]
Параметры:
-D Сравнить только один каталог. -F [флаги] savefile Сохранить составной файл в 'savefile'. «Флаги» могут состоять из одного или нескольких из I (идентичный), L (левый), R (правый), F (сдвинутый влево), G (сдвинутый вправо), S (аналогичный левый), A (аналогичный вправо), X (выход после сохранения списка). (например, -FLF сохраняет список строк влево или влево). -I файл Читает список файлов для сравнения из указанного входного файла. Каждая строка может содержать одно или два имени файла, разделенных пробелами (в кавычках, если имена файлов содержат пробелы). Используйте «-» в качестве имени файла для чтения из стандартного ввода. Если строка содержит только одно имя файла, файл сравнивается с самим собой. -N имя СЕТЬ ОТПРАВИТЬ уведомление на «имя» в конце сравнения. -O Наброски (без автоматического расширения). -P Неправильное сравнение: разрывает строки по пунктуации. -S [flags] savefile Сохранить список файлов в 'savefile'. «Флаги» могут состоять из одного или нескольких из S (одинаковый), L (слева), R (справа), D (другой), X (выход после сохранения списка). (например, -SLD сохраняет список оставленных или разных файлов). -T Сравнить целое поддерево.

Чтобы сохранить отчет о сравнении в файл с помощью -S выключатель. Ниже приведены примеры:

Сохраните список идентичных файлов в diff.txt:

-SS D: \ output \ diff.txt c: \ folder1 d: \ folder2

Сохраните список разных файлов в diff.txt:

-SD D: \ output \ diff.txt c: \ folder1 d: \ folder2

Сохраните список файлов, доступных только слева, в diff.txt:

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-leader-3-0’)};

-SL D: \ output \ diff.txt c: \ folder1 d: \ folder2

Сохраняет список файлов только для прав в diff.txt:

-SR D: \ output \ diff.txt c: \ folder1 d: \ folder2

Сохраняет список файлов, предназначенных только для левого и правого каналов, в файл diff.txt:

-SLR D: \ output \ diff.txt c: \ folder1 d: \ folder2

Чтобы автоматически выйти из WinDiff после сохранения отчета сравнения, добавьте Икс переключатель, как показано ниже:

Сохраните список файлов, доступных только для правых, в diff.txt и выйдите из WinDiff.

-SRX D: \ output \ diff.txt c: \ folder1 d: \ folder2

Сохраните список файлов, предназначенных только для левого и правого каналов, в файл diff.txt и выйдите из WinDiff.

-SLRX D: \ output \ diff.txt c: \ folder1 d: \ folder2

Чтобы сгенерировать все 5 отдельных файлов «журнала», вам придется запустить WinDiff 5 раз.

Пример:

windiff -SSX идентичный.txt c: \ folder1 d: \ folder2 windiff -SDX different.txt c: \ folder1 d: \ folder2 windiff -SLX left-only.txt c: \ folder1 d: \ folder2 windiff -SRX right-only.txt c: \ folder1 d: \ folder2 windiff -SLRX left-right-only.txt c: \ folder1 d: \ folder2

См. Также содержимое файла справки WinDiff (windiff.hlp) в формате HTML.

Синхронизация папок с WinDiff

Что еще? WinDiff также может копировать отсутствующие или другие файлы в левое (папка 1) или правое (папка 2) место. Для этого

  1. В меню «Файл» выберите «Копировать файлы».
  2. Введите путь к папке, в которую вы хотите скопировать отсутствующие / разные файлы.
    Важно: не заключайте путь к папке в двойные кавычки, даже если путь к папке содержит пробелы. WinDiff не сможет скопировать файлы, если вы добавите к пути двойные кавычки.
  3. Выберите Копировать из местоположения (Слева от дерева к Правому дереву или наоборот)
  4. Снимите флажок «Идентичные файлы» и нажмите «ОК».
    сравнить содержимое двух папок в windowsWinDiff теперь синхронизирует папку, рекурсивно копируя отсутствующие и измененные файлы в указанное место (слева → справа).сравнить содержимое двух папок в windows

Несмотря на превосходное сравнение ASCII и двоичного кода, а также базовые возможности синхронизации, WinDiff часто недооценивается ИТ-специалистами. Это потому, что он имеет устаревший пользовательский интерфейс и не поддерживает Unicode. Но WinDiff достаточно для большинства из нас, особенно для тех, кто использует англоязычную ОС.

У Microsoft есть статья базы знаний о WinDiff под названием «Как использовать утилиту Windiff.exe», которую вы, возможно, захотите проверить.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-large-leaderboard-2-0’)};

Сравните содержимое двух папок с помощью WinMerge

Вот как сравнить две папки вместе с подпапками с помощью WinMerge.

winmerge - логотипWinMerge — это инструмент с открытым исходным кодом для различения и объединения для Windows. Он может сравнивать папки и файлы, отображая различия в визуальном текстовом формате, который легко понять и обработать. Давайте воспользуемся им для сравнения содержимого двух папок и их подпапок (т. Е. Рекурсивно).

  1. Запустите WinMerge. В меню «Файл» выберите «Открыть».
    winmerge сравнить 1-ю папку 2-я папка открыта
  2. Найдите и выберите 1-ю папку и 2-ю папку для сравнения.
  3. Убедитесь, что фильтр установлен на *.* так что все файлы сравниваются. Параметр «Включить подпапки» (рекурсивное сравнение) включен по умолчанию. Если вы хотите сравнить файлы только в каталоге верхнего уровня, снимите этот флажок.
  4. Нажмите «Сравнить». WinMerge сгенерирует результаты сравнения папок, выделив различия желтым цветом.
    winmerge сравнить результаты главная
  5. В меню «Инструменты» выберите «Настроить столбцы…». Выберите нужные столбцы, например Левый размер, Правильный размер, Дата выхода, Правильная дата из множества других предоставленных вариантов столбцов.
    столбцы winmerge
  6. Разверните запись «Папки разные», дважды щелкнув по ней. Он показывает список файлов, которые отличаются, «только слева», «только справа», а также идентичные файлы.
    расширены результаты сравнения winmerge
    Примечание. Вы можете скрыть идентичные файлы и папки, сняв флажок «Показать идентичные элементы» в меню «Просмотр» в WinMerge.
    параметры просмотра winmerge

Преимущество использования WinMerge заключается в том, что он предлагает на выбор пять различных методов сравнения файлов:

  1. Полное содержание (по умолчанию): полное сравнение файлов по содержанию, со всеми наворотами. Этот метод вызывает плагины и использует механизм Diffutils для полностью точного определения разностей и обнаружения перемещенных блоков. Это наиболее полный и рекомендуемый метод.
  2. Быстрое содержание: упрощенное сравнение файлов по содержанию. В этом методе используется упрощенный код сравнения файлов, который пропускает плагины и обнаружение перемещенных блоков. Этот метод работает быстрее, чем Full Contents, потому что он не загружает файлы. Его недостаток в том, что при сравнении не применяются линейные фильтры. Например, этот метод рассматривает файл как другой, даже если линейные фильтры настроены на игнорирование всех различий в файлах.
  3. Дата изменения: сравнивает только даты изменения файлов, поэтому это намного быстрее, чем любой из методов содержимого. Но очевидно, что это ровно настолько, насколько точны даты модификации.
  4. Дата и размер изменения: аналогичны дате изменения, но также проверяют размеры файлов, если даты совпадают.
  5. Размер: сравнивает только размеры файлов, поэтому это быстро, но не так точно, как метод содержимого.

WinMerge поддерживает множество переключателей командной строки. Ознакомьтесь с Руководством по WinMerge для получения полного списка поддерживаемых параметров командной строки.

Синхронизировать папки с WinMerge

Если вы сняли флажок «Показывать идентичные элементы» в меню «Просмотр» в WinMerge, он отображает только список измененных файлов, файлов только для левого и правого доступа. Легко синхронизировать элементы слева направо или наоборот.

winmerge сравнивает папки и синхронизирует

Все, что вам нужно сделать, это выбрать файлы (или выбрать все), щелкнуть выделение правой кнопкой мыши и нажать «Копировать». В подменю Копировать выберите один из вариантов:

  1. Слева направо: копирование выбранных файлов из левой папки в правую.
  2. Слева в…: копирование файлов из левой папки в другую папку.
  3. Справа налево: копирование выбранных файлов из правой папки в левую.
  4. Право на…: копирование файлов из нужной папки в другую папку.

winmerge сравнивает папки и синхронизирует

Метод 3: как сравнить файлы в двух папках с помощью FreeFileSync

значок freefilesyncFreeFileSync — это программа с открытым исходным кодом для сравнения и синхронизации папок, которая создает резервные копии всех ваших важных файлов и управляет ими.

  1. Загрузите FreeFileSync и установите его.
  2. Чтобы сравнить папки по содержимому файла, а не по размеру файла или дате изменения, выберите «Содержимое файла» в параметрах сравнения. Однако сравнение по размеру файла будет намного быстрее и менее ресурсоемким.
  3. Выберите левую папку и правую папку.
  4. Щелкните по кнопке Сравнить (содержимое файла). Он рекурсивно сравнивает элементы в двух папках и показывает список новых и измененных файлов.сравнить содержимое двух папок - freefilesyncИдентичные файлы скрыты в выводе. По умолчанию он показывает файлы только для левого края, различные файлы и файлы только для правого, а параметры можно переключать с помощью кнопок в нижней части окна FreeFileSync.

Синхронизация папок с помощью FreeFileSync

FreeFileSync предлагает следующие параметры синхронизации, аналогичные Microsoft SyncToy.

сравнить содержимое двух папок - freefilesync

  1. Двусторонняя синхронизация: определение и применение изменений с обеих сторон. Удаление, перемещение и конфликты обнаруживаются с помощью базы данных.
  2. Зеркало: Зеркало слева → синхронизация справа. Правая папка станет зеркальной копией левой папки. Это то же самое, что опция Echo в Microsoft SyncToy и командная строка robocopy / mir. Удаляются лишние файлы и папки в правой папке, а другие файлы заменяются.
  3. Обновление: этот параметр синхронизации выполняет синхронизацию Левая папка → Правая папка аналогично параметру Зеркало. Однако этот параметр не удаляет лишние файлы и папки в правом дереве папок. Он аналогичен опции Contribute в Microsoft SyncToy.
  4. Пользовательский: в дополнение к трем предустановленным параметрам, параметр Пользовательский позволяет выбрать действие по умолчанию в отношении того, как работать с файлом, предназначенным только для левого, измененным или только правым файлом. Например, вы можете настроить его на удаление идентичных файлов, если вам необходимо иметь только уникальные файлы (исключить дубликаты) в левой и правой папках. В большинстве случаев вам не нужно выбирать пользовательскую настройку, если у вас нет особых требований.

По умолчанию выполняется двусторонняя синхронизация. Лично я предпочитаю зеркальное резервное копирование для проектов моих веб-сайтов и опцию «Обновить резервную копию» для документов. Соответственно выберите один из вариантов синхронизации.

В результатах сравнения по умолчанию выбраны все файлы. Вы можете исключить файл из синхронизации, сняв флажок рядом с именем файла или воспользовавшись контекстным меню.

сравнить содержимое двух папок - freefilesync

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-netboard-1-0’)};

  • Чтобы синхронизировать все элементы, отображаемые в списке, нажмите кнопку «Синхронизировать» вверху.
  • Чтобы синхронизировать конкретный файл или набор файлов, исключите все элементы (временно) с помощью контекстного меню, затем установите флажок для выбранных файлов, щелкните правой кнопкой мыши выделенный фрагмент, выберите «Синхронизировать выделение» и нажмите «Пуск».

Вот и все! Ваши папки теперь синхронизированы, а операции копирования / обновления / удаления регистрируются FreeFileSync.

сравнить содержимое двух папок - freefilesync

Сравните и синхронизируйте локальную папку Vs. Папка FTP рекурсивно

FreeFileSync также может сравнивать локальную папку с Google Диском или локальную папку с папкой вашего FTP-сервера, рекурсивно используя FTP или SFTP-соединение. Вот как сравнить и синхронизировать локальную папку и подпапки с папкой на вашем FTP-сервере.

Все, что вам нужно сделать, это нажать кнопку «Доступ к онлайн-хранилищу» рядом с кнопкой «Обзор» на левой или правой панели. При нажатии на эту кнопку открывается следующий диалог:

сравнить и синхронизировать локальную папку и ftp с помощью freefillesync

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-sky-3-0’)};

Введите информацию о FTP- или SFTP-соединении, учетные данные и путь к каталогу FTP для сравнения с вашей локальной папкой.

После этого вы снова возвращаетесь в окно сравнения.

Выберите размер файла или метод сравнения времени и размера файла. Последний метод сравнения более надежен.

Выберите вариант синхронизации. Для этой цели я установил двухстороннюю синхронизацию (вместо Mirror).

После настройки нажмите Сравнить. Вы увидите список отсутствующих и разных файлов слева и в правой папке.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-small-rectangle-2-0’)};

сравнить и синхронизировать локальную папку и ftp с помощью freefillesync

Нажмите кнопку «Синхронизировать», чтобы скопировать файлы в обе стороны, поскольку была выбрана двусторонняя синхронизация.Если вы хотите обновить только местоположение FTP, выберите вместо этого «Зеркальная синхронизация».

Запустить FreeFileSync как пакетное задание | Синхронизация командной строки

Вы можете сохранить указанную выше конфигурацию в пакетном задании и запустить его через командную строку или планировщик. Чтобы сохранить конфигурацию и запустить ее из командной строки, выполните следующие действия:

  1. Выберите пункт «Сохранить как пакетное задание…» в меню «Файл».
    сравнить содержимое двух папок - freefilesync
  2. Вы можете настроить пакетное задание на запуск в свернутом виде и автоматическое закрытие окна по завершении синхронизации.
    сравнить содержимое двух папок - freefilesync
  3. Сохраните файл пакетного задания в папке по вашему выбору, скажем, d: \ BatchRun.ffs_batch.
  4. Затем, чтобы синхронизировать папки с помощью командной строки, используйте следующий синтаксис командной строки:
    C: \ Program Files \ FreeFileSync \ FreeFileSync.exe d: \ BatchRun.ffs_batch

    Вы можете создать командный файл Windows или запускать указанную выше команду через планировщик задач через определенные промежутки времени по желанию.

Совет: FreeFileSync также может синхронизировать папки с Google Диском.

Метод 4: как сравнить файлы в двух папках с помощью SyncFolders

значок утилиты syncfolders

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-large-mobile-banner-1-0’)};

SyncFolders — еще одна мощная утилита для сравнения и синхронизации файлов, которая работает во всех версиях Windows, включая Windows 10. Программа позволяет легко копировать новые и обновленные файлы и папки в одном или обоих направлениях. Вы также можете сделать резервную копию зеркала (эквивалент Робокопия / МИР или SyncToy’s Эхо характерная черта.)

syncfolders - сравнивайте и синхронизируйте файлы

На панели управления SyncFolders нажмите кнопку «Создать правило ..».

Укажите исходную и целевую папки, а также тип действия (метод резервного копирования), который вы хотите создать.

syncfolders - сравнивайте и синхронизируйте файлы

  • Копировать: новые и измененные файлы в исходной папке будут скопированы в целевую папку. Обратите внимание, что если вы выберете эту опцию, лишние файлы или папки в целевой папке не будут удалены.
  • Резервное копирование: создайте зеркальную копию исходной папки. Новые и измененные файлы в исходной папке будут скопированы в целевую папку. Это метод синхронизации влево → вправо. Лишние (потерянные) файлы и папки в целевом расположении будут удалены. Для этого утилита SyncFolders создает базу данных для отслеживания добавления или удаления файлов и папок.
  • Двусторонняя синхронизация: новые и измененные файлы будут скопированы из исходной папки в целевую и наоборот. SyncFolders создаст базу данных во время первой синхронизации для идентификации и отслеживания добавлений, изменений и удалений в обеих папках.

Интересный факт: другие инструменты синхронизации (например, FreeFileSync) используют сравнение баз данных только для двусторонней синхронизации. Но SyncFolders использует сравнение баз данных даже для синхронизации левого и правого зеркала. Файл базы данных называется Syncfolders_Database_db и хранится в источнике, а также в целевом расположении для каждой пары папок.

Примечание. Если вы хотите создать зеркальную резервную копию исходной папки, выберите параметр «Резервное копирование». Эта опция эквивалентна опции зеркала Robocopy, функции Echo Microsoft SyncToy или опции зеркала FreeFileSync.

Вот экраны конфигурации утилиты SyncFolders:

syncfolders - сравнивайте и синхронизируйте файлы

На приведенном выше снимке экрана вы можете увидеть параметр с именем Проверить результаты синхронизации с помощью хеширования (CRC32, MD5 или SHA-1). Если этот параметр включен, после операции копирования / синхронизации SyncFolders вычислит хэш исходного файла и файла назначения и сравнит, была ли операция успешной. Проверка хеширования — это ресурсоемкая задача, особенно когда речь идет о файлах большого размера.

syncfolders - сравнивайте и синхронизируйте файлы

syncfolders - сравнивайте и синхронизируйте файлы

Обратите внимание, что вы также можете сравнивать файлы по содержимому, и в этом случае утилита может выполнять двоичное сравнение (побайтовое сравнение). Это может потреблять больше ресурсов ЦП и должно использоваться только при необходимости.

syncfolders - сравнивайте и синхронизируйте файлы

Сравните папки с помощью SyncFiles

В главном окне или на вкладке обработки нажмите кнопку «Сканировать», чтобы просмотреть статистику.

Он показывает количество файлов и папок, которые необходимо синхронизировать, общий размер, потерянные файлы и папки, которые нужно удалить (в целевом расположении), и другие подробности.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-narrow-sky-1-0’)};

syncfolders - сравнивайте и синхронизируйте файлы

Чтобы просмотреть список файлов и папок, откройте окно сравнения, нажав кнопку «Подробнее…».

В окне сравнения вы можете увидеть список новых или измененных элементов, которые будут скопированы. Вы также увидите дополнительные файлы в целевой папке, которые будут удалены во время операции синхронизации.

syncfolders - сравнивайте и синхронизируйте файлы

Чтобы изменить «действие» для определенного файла или папки, щелкните его правой кнопкой мыши и выберите требуемый вариант. Например, вы можете сделать одно из следующих действий для предмета:

  • Создать файл в целевом объекте (по умолчанию)
  • Удалить файл из источника
  • Бездействие

Синхронизация папок с помощью SyncFiles

Вы можете синхронизировать папки через главное окно (вкладка Правила или вкладка Обработка) или из окна сравнения выше.

Все, что вам нужно сделать, это нажать на кнопку «Синхронизировать». Результаты отображаются на вкладке «Обработка», а также регистрируются в файле с именем SyncFolders.log. Чтобы просмотреть журнал, щелкните шеврон рядом с кнопкой шестеренки на панели инструментов и выберите «Просмотр файла журнала».

В файле журнала вы увидите что-то вроде этого:

<-------------------- PROCESS START --------------------- Process started at : 11/6/2020 9:14:42 AM Process stopped at : 11/6/2020 9:14:43 AM Rules File : D:\Users\ramesh\Desktop\SyncFoldersPortable\User Data\ramesh\My Rules.rls Executed rules : 001 - Website assets backup Files Synchronized : 12 Files deleted : 2 Folders deleted : 1 MB Synchronized : 0.15 MB Deleted : 0.02 Number of conflicts : 0 Number of Errors : 0 --------------------- PROCESS END ---------------------->

Запланированная задача и использование командной строки

Вы можете легко запланировать задачу синхронизации с помощью SyncFolders.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-narrow-sky-2-0′)};if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-narrow-sky-2-0_1’)};.narrow-sky-2-multi-166{border:none!important;display:block!important;float:none!important;line-height:0;margin-bottom:15px!important;margin-left:0!important;margin-right:0!important;margin-top:15px!important;min-height:250px;min-width:250px;padding:0;text-align:center!important}

  • Во-первых, убедитесь, что вы сохранили текущие правила в файл правил — например, MyRules.rls. Обратите внимание, что в одном файле правил может быть несколько наборов папок.
  • Щелкните значок запланированной задачи на панели инструментов и настройте задачу. Он создает новую задачу (использует планировщик задач Windows) на основе выбранных вами параметров.

syncfolders - сравнение и синхронизация файлов - планировщик задач

Вот синтаксис командной строки, который он использует для синхронизации папок (с использованием файла настраиваемых правил) в неинтерактивном режиме с помощью Планировщика заданий.

SyncFolders.exe "диск: \ путь \ My Rules.rls" / фон / синхронизировать

Если вы не хотите создавать запланированное задание, вы можете создать ярлык на рабочем столе для указанной выше команды, чтобы синхронизировать папки вручную.

SyncFolders, безусловно, впечатляющая программа! Он портативен и имеет аккуратный и простой пользовательский интерфейс. Параметры фильтрации в этом инструменте очень полезны. Однако окно сравнения нуждается в улучшении. Он удобен для синхронизации задач и может быть хорошей альтернативой устаревшему Microsoft SyncToy.

Метод 5: как сравнить файлы в двух папках с помощью TotalCommander

total commander - логотипTotal Commander — это файловый менеджер для Windows, который позволяет копировать, перемещать или удалять файлы. Total Commander может гораздо больше. Он может упаковывать и распаковывать файлы, получать доступ к FTP-серверам, сравнивать файлы по содержимому и т. Д.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-portrait-1-0’)};

сравнить содержимое двух папок - total commander

  1. Запустите Total Commander и выберите левую папку и правую папку для сравнения.
  2. В меню «Команды» выберите «Синхронизировать каталоги…» В диалоговом окне «Синхронизировать каталоги» вы можете сравнить два каталога, включая подкаталоги, друг с другом, а затем скопировать файлы с различиями в целевой каталог или любой другой каталог.
    сравнить содержимое двух папок - total commanderЕсли вы выберете параметр «Асимметричный», правая папка станет зеркалом левой — аналогично командной строке RoboCopy / MIR или Microsoft SyncToy. Эхо вариант. То есть опция копирует отсутствующие или разные файлы в нужную папку, а все лишние файлы и папки справа удаляются. Вы можете выбрать отображение идентичных файлов или только разных файлов в выводе.сравнить содержимое двух папок - total commanderПараметры сравнения / синхронизации Total Commander описаны ниже.
    Асимметричный Если этот параметр отмечен, предполагается, что копия левой стороны должна быть создана на правой стороне. Файлы, которые не существуют слева, будут помечены для удаления справа. Эта опция предназначена для резервного копирования.
    Поддиры Также сравнивает подкаталоги двух выбранных каталогов.
    по содержанию Сравнивает содержимое файлов одинакового размера и даты. Он проверяет, что файлы имеют одинаковое содержимое.
  3. Выберите параметры сравнения «Подкаталоги», «По содержимому». Важно: Если установлен флажок «Игнорировать дату», Total Commander не сможет найти разные / измененные файлы, даже если размеры файлов различаются. Кажется, это ошибка Total Commander, и я могу воспроизводить ее каждый раз.
  4. В разделе Показать отключите одинаковые файлы (обозначены значком = символ) и активируйте остальные три кнопки.
  5. Включите опции Singles и Duplicates.
  6. Нажмите кнопку Сравнить
    сравнить содержимое двух папок - total commander

Total Commander — сравнение папок с аргументами командной строки

Чтобы запустить «Синхронизировать каталоги», вы можете использовать следующий синтаксис командной строки:

TOTALCMD64.EXE / S = S d: \ folder_1 d: \ folder_2

Затем настройте параметры и нажмите кнопку «Сравнить».

Чтобы запустить «Синхронизировать каталоги» и сразу сравнить папки, используйте следующий синтаксис:

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-portrait-2-0’)};

TOTALCMD64.EXE / S = S: = d: \ folder_1 d: \ folder_2

(сравнение начнется с переданных каталогов и последних использованных опций.)

При желании вы также можете ввести имя настроек в форме / S = S: SettingsName так что сравнение начнется немедленно на основе ранее сохраненной настройки.

Синхронизируйте папки с помощью TotalCommander

  1. В окне сравнения выберите файлы, которые хотите скопировать. Для этого нужно установить флажок между двумя столбцами сравнения или выбрать один из параметров в контекстном меню.По умолчанию функция выбирает для копирования все новые файлы. Чтобы отменить выбор файла и предотвратить его копирование или синхронизацию, дважды щелкните стрелку. Чтобы отменить выбор нескольких файлов, выберите файлы, щелкните их правой кнопкой мыши и выберите «Удалить выделение».Важно: если параметр «Асимметричный» не включен, если файл в правой папке новее, чем файл в левой папке, синхронизация для этого файла будет выполняться справа → слева. Чтобы изменить его другим способом, нажмите на стрелку рядом с файлом, которая переключает направление синхронизации.

    сравнить содержимое двух папок - total commanderКроме того, вы можете щелкнуть файл правой кнопкой мыши и выбрать «Обратное направление копирования», чтобы изменить направление синхронизации.

  2. Щелкните «Синхронизировать». Откроется диалоговое окно для копирования выбранных файлов.
    сравнить содержимое двух папок - total commanderПо умолчанию синхронизируется в обоих направлениях. Если вы хотите синхронизировать в одну сторону — например, левая папка → правая папка, снимите флажок Справа налево и наоборот.

Совет: Используя Total Commander, вы даже можете синхронизировать локальный каталог и каталог на FTP-сервере.

Метод 6. Сравните и синхронизируйте папки в реальном времени с помощью DSynchronize

синхронизировать папки в реальном времениDSynchronize — хороший инструмент, с помощью которого вы можете синхронизировать две папки вручную или автоматически в режиме реального времени. Этот инструмент предоставляет больше возможностей, чем любые другие инструменты синхронизации папок, чтобы вы могли настроить способ синхронизации файлов.

  1. Запустите DSynchronize и настройте исходную и целевую папки.
  2. Вы можете назначить собственное имя задания (для дальнейшей автоматизации), нажав кнопку ЗАДАНИЯ. Давайте зададим имя задания как Загрузки
  3. Для зеркальной синхронизации убедитесь, что двунаправленная синхронизация отключена.
  4. Чтобы выполнить (только) сравнение без синхронизации двух папок, включите параметр «Предварительный просмотр синхронизации» в разделе «Общие».
    синхронизировать папки в реальном времени - dsync
  5. Нажмите кнопку «Синхронизировать», чтобы просмотреть список новых, обновленных и отсутствующих файлов в обоих местах.

Синхронизировать папки

Чтобы синхронизировать папки, снимите флажок «Предварительный просмотр синхронизации» в разделе «Общие» и нажмите «Синхронизировать». По умолчанию он выполняет синхронизацию в режиме зеркала. Режим зеркала уже обсуждался в этой статье ранее. Режим зеркала гарантирует, что правая папка точно такая же, как левая. Любые лишние каталоги и файлы в месте назначения удаляются автоматически.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-large-mobile-banner-2-0’)};

Синхронизация в реальном времени

Чтобы синхронизировать две папки в реальном времени:

  1. Нажмите на синхронизацию в реальном времени в разделе Таймер.
  2. При необходимости настройте параметры синхронизации в реальном времени. Я использовал настройки по умолчанию.
    синхронизировать папки в реальном времени - dsync
    По умолчанию он автоматически синхронизирует папки через 10 секунд. Вы можете настроить его на дальнейшую отсрочку или запланировать запуск через определенные интервалы.
  3. Установите флажок «Наблюдать за вложенными папками» для рекурсивной синхронизации папок.

Я скопировал несколько файлов в левую папку (источник), и в течение 10 секунд элементы были автоматически синхронизированы с правой папкой. Вы можете увидеть это на этом анимированном GIF-изображении:

синхронизировать папки в реальном времени - dsync

И изменения (добавление и удаление файлов или папок) регистрируются в главном окне.

синхронизировать папки в реальном времени - dsync

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-sky-1-0’)};

Когда синхронизация в реальном времени включена, она отслеживает изменения файлов, и программа находится в области уведомлений, ожидая изменений. Это не требует много ресурсов процессора или памяти. Последний раз я проверял, он использовал всего около 10 МБ памяти.

синхронизировать папки в реальном времени - dsync

Вот список основных функций DSynchronize:

  • Стандарт и синхронизация по таймеру.
  • Синхронизация в реальном времени.
  • Двунаправленная синхронизация.
  • Транзакционная синхронизация (по журналу NTFS).
  • Выборочный фильтр (можно исключить отдельные файлы или папки).
  • Start as a Service (программа не требует авторизации).
  • Поддерживает символические ссылки и жесткие ссылки.
  • Поддерживает переходы и точки крепления.
  • Поддерживает ACL.
  • Журнал отправлен по электронной почте.
  • Резервное копирование замененных файлов предыдущей версии.
  • Побайтовое сравнение.
  • Поддерживает несколько заданий, каждое со своими настройками и путями синхронизации.
  • Минимальное потребление ресурсов (ОЗУ и ЦП).

Поддержка командной строки

Вы можете использовать следующую командную строку для автоматизации DSynchronize:

/НАЧНИТЕ = Начать синхронизацию с последними сохраненными параметрами.
/ STARTJOB «JobName» = Начать синхронизацию с выбранными параметрами задания).
/МИНИМИЗИРОВАТЬ = Запускается в свернутом виде на панели лотков.
/СКРЫТЫЙ = Не отображать значок в панели задач.
/ NOSECURITYCHECK = Не выполняйте проверку безопасности перед синхронизацией.
/ НОМОНИТОРЧЕК = Не проверять разрешение монитора.
/ AUTOREALTIME = Запуск свернут, выполните стандартную синхронизацию и активируйте RealTime.
/SOMEFILE.INI = Начинает использовать выбранный файл INI.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-sky-4-0’)};

Название задания можно изменить, нажав кнопку ЗАДАНИЯ в верхней части главного окна программы.

Например, чтобы автоматически синхронизировать две папки (ранее сохраненное задание с именем «Загрузки»), я бы выполнил эту команду:

"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Загрузки" / МИНИМИЗАЦИЯ

Чтобы синхронизировать две папки (задание с именем «Загрузки») и активировать синхронизацию в реальном времени, запустите:

"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Загрузки" / AUTOREALTIME

Приведенная выше команда синхронизирует две папки, названные в задании, и автоматически активирует мониторинг в реальном времени. Вы можете увидеть значок мониторинга в реальном времени в области уведомлений.

Вот и все!if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-small-square-1-0’)};

Метод 7. Сравните две папки с помощью утилиты HashMyFiles, используя контрольную сумму хэша файла

HashMyFiles — это небольшая утилита, которая вычисляет контрольные суммы хэшей для ваших файлов. Он может вычислять хэш для файлов в папке и ее подпапках рекурсивно. HashMyFiles позволяет сохранять результаты в файл. Он также может вычислять контрольную сумму хэша через контекстное меню.

получить хэш файла через контекстное меню - hashmyfiles

Если PowerShell вам не по душе, воспользуйтесь утилитой HashMyFiles от Nirsoft.net для сравнения хэшей файлов.

Вы можете сохранить имена файлов и соответствующий хеш-вывод для дерева исходных папок в source.txt. Точно так же сохраните записи для дерева папок назначения как destination.txt.

В этом примере мы собираемся сравнить файлы в следующих папках:

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-mobile-leaderboard-2-0’)};

D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads \ 2019 E: \ RameshPC-Синхронизированное резервное копирование \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ 2019

Выполните следующие действия, чтобы сгенерировать хэши файлов с помощью HashMyFiles и сравнить их:

  1. Скачайте HashMyFiles и запустите.
  2. В меню Параметры щелкните Типы хэша и выберите SHA-256.
    сравнить файлы в двух папках - hashmyfiles
  3. В меню «Просмотр» нажмите «Выбрать столбцы».
    сравнить файлы в двух папках - hashmyfiles
  4. В настройках столбца включите параметры SHA-256, Полный путь и Размер файла. Щелкните ОК.
  5. Откройте меню «Файл» и выберите «Добавить папку».
  6. Выберите исходную папку для сравнения.
    сравнить файлы в двух папках - hashmyfiles
  7. Щелкните, чтобы выбрать «Добавить файлы в подпапки», и нажмите «ОК».
  8. Отсортируйте результаты по столбцу «Полный путь» и выберите все записи.
  9. В меню «Файл» выберите «Сохранить выбранные элементы».
  10. Сохраните листинг в файл с именем source.txt.
  11. Удалите результаты, выбрав «Очистить все» в меню «Файл».
  12. Повторите вышеуказанные шаги, и на этот раз выберите папку назначения, сохраните список в destination.txt.
  13. Теперь отредактируйте файлы source.txt и destination.txt с помощью Блокнота и удалите базовые пути. Используя параметр «Найти» в Блокноте, найдите все вхождения указанного ниже базового пути и замените его пустой строкой.
    D: \ Сайты \ Winhelponline \ блог \ wp-content \
  14. Аналогичным образом в файле destination.txt удалите этот базовый путь:
    E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \

    Вы также можете найти и удалить = символы, используемые как разделители.

    Вот как теперь выглядят файлы:

    сравнить файлы в двух папках - hashmyfiles

  15. Теперь запустите WinDiff или ваш любимый инструмент сравнения файлов, чтобы увидеть различия.
    сравнить файлы в двух папках - hashmyfiles

Вы увидите список различных файлов, дополнительных и отсутствующих файлов.

Метод 8: как сравнить файлы в двух папках с помощью Robocopy

Давайте теперь посмотрим, как использовать встроенную консольную утилиту Robocopy для сравнения содержимого двух папок.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-leader-4-0’)};

Robocopy («Надежное копирование файлов для Windows») — отличный встроенный в Windows инструмент для копирования файлов, обладающий огромными возможностями. Возможности Robocopy выходят за рамки встроенных в Windows команд копирования и XCopy. RoboCopy является наиболее предпочтительным из всех методов командной строки, потому что Robocopy сравнивает не только имена файлов, но и время последнего изменения. Он сообщает список измененных файлов и новых файлов / папок в исходном и целевом путях.

Среди его отличных функций — «зеркальное» копирование (аналогично опции «Echo» в Microsoft SyncToy), возможность повторного копирования в случае сбоев в сети, многопоточное копирование и т. Д. Помимо копирования файлов, мы можем использовать Robocopy, чтобы просто сравнить содержимое двух папок (рекурсивно) и записывать различия, ничего не копируя, как пробный прогон.

Сценарий

Файлы моего сайта синхронизируются с внешним жестким диском (E: \) регулярно. В целях иллюстрации давайте проверим, идентичны ли эти две папки. В этом примере мы собираемся сравнить следующие папки рекурсивно (то есть вместе с подпапками, глубокое сравнение):

D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads а также E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads
  1. Откройте окно командной строки.
  2. Выполните следующую команду и нажмите ENTER:
    robocopy "D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads" "E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads" / L / TS / MIR / LOG: D: \ Diff.txt

    Папки различий в списке команд robocopy

    Результаты вышеуказанной команды регистрируются в D: \ Diff.txt файл.

  3. Закройте окно командной строки.

Подробная информация об используемых переключателях командной строки Robocopy

  • / Л :: Только список — не копировать, не ставить отметку о времени и не удалять файлы.Эта опция используется только для целей регистрации; для пробного прогона.
  • / МИР :: MIR Исключить дерево каталогов (эквивалент / E plus / PURGE). Поскольку мы используем его с / Л переключатель, файлы / папки фактически копироваться не будут.
  • / TS :: включить метки времени исходного файла в вывод.
  • /Лог-файл :: выводить статус в файл журнала (перезаписать существующий журнал).

В этом примере мы записываем вывод в D: \ Diff.txt. Вот как выглядит журнал:

-------------------------------------------------- ----------------------------- ROBOCOPY :: Надежное копирование файлов для Windows -------------------------------------------------- -----------------------------
Начат: понедельник, 8 апреля 2019 г., 17:06:10 Источник: D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ Место назначения: E: \ RameshPC-Синхронизированное резервное копирование \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \
Файлы: *. *
Варианты: *. * / TS / L / S / E / DCOPY: DA / COPY: DAT / PURGE / MIR / R: 1000000 / W: 30
-------------------------------------------------- ----------------------------
583 D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads \ * EXTRA Dir -1 E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 \ videos \ * EXTRA файл 821886 2019/04/07 07:19:24 tiktok-superman-dance.mp4 3 D: \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ 2019 \ Scripts \ Старше 210 2019/04/08 10:54:59 0x80071A91.vbs Новее 211 2019/04/08 11:35:32 ErrCodeFinder.vbs Новый файл 211 2019/04/08 11:35:32 Sample.vbs 211 D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads \ h1-10 \ 83 D: \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ h1-11 \ 1 D: \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ reg \ 9 D: \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ temp \
-------------------------------------------------- ----------------------------
Общее количество скопированных пропущенных несоответствий НЕУДАЧЕ Дополнительная информация Директ: 113 0 113 0 0 1 Файлы: 4125 3 4122 0 0 1 Байт: 59.96 m 632 59.95 m 0 0 802.6 k Время: 0:00:00 0:00:00 0:00:00 0:00:00 Завершился: 8 апреля 2019 г., 17:06:10 

Вы можете четко видеть дополнительные каталоги и файлы в исходных и целевых папках. Кроме того, он сравнивает временную метку и сообщает вам, являются ли файлы старше или новее (по сравнению с тем же файлом в вашем месте назначения).

файл журнала robocopy список различий папок

В этом примере заметны следующие отличия:

  1. * EXTRA Dir: Дополнительный каталог существует в месте назначения, но не в источнике.
  2. * EXTRA File: Дополнительный файл существует в месте назначения, но не в источнике.
  3. Старый: этот файл старше по сравнению с файлом в месте назначения.
  4. Новее: этот файл новее по сравнению с файлом в месте назначения.
  5. Новый файл: этого файла нет в месте назначения. Его также называют Одинокий, уединенный файл

Полный список классификаций файлов RoboCopy:

----------- ----------- ---------------- ------------ --- ------------- ------------ Classifi_ Exists In Exists In Source / Dest Source / Dest Source / Dest cation Источник Место назначения Время файла Размер файла Атрибуты ----------- ----------- ---------------- ------------ --- ------------- ------------ Новее Да Да Src> dest n / a n / a Старые Да Да Src 

Примечание: A Изменено Файл определяется как файл, который существует как в источнике, так и в месте назначения, с одинаковым размером и меткой времени, но с разными настройками атрибутов.

Robocopy - потрясающий инструмент для сравнения и синхронизации файлов в двух папках (вместе с подпапками на несколько уровней глубиной) и перечисления различий в файле журнала.

Синхронизируйте папки с помощью Robocopy

Чтобы синхронизировать папки (только из левой → правой папки) с RoboCopy, используйте тот же синтаксис командной строки, который мы использовали ранее для сравнения папок, но на этот раз без / Л (только список) переключатель.

RoboCopy выполняет одностороннюю синхронизацию (слева → правая папка)

Режим зеркального копирования RoboCopy (/ МИР) аналогична функции «Echo» в Microsoft SyncToy. Помните, что RoboCopy выполняет только левую → правую синхронизацию - НЕ двустороннюю синхронизацию.

Важно отметить, что / МИР switch также удаляет все лишние файлы и каталоги в дереве папок назначения. «Дополнительные» файлы / папки - это элементы, присутствующие в месте назначения, но отсутствующие в исходном пути. В / МИР Команда (mirror) гарантирует, что структура папки назначения (и файлы) является точной копией исходного файла.

Используйте следующий синтаксис командной строки для синхронизации элементов из левой → правой папки:

robocopy исходная_папка целевая_папка / MIR / MT

В / Т переключатель предназначен для выполнения многопоточного копирования для сверхбыстрой операции копирования. Это необязательный, но очень полезный переключатель.

Состояние синхронизации выводится на консоль для каждого обработанного элемента, а статистика отображается в конце вывода.

Чтобы записать вывод в файл, используйте этот синтаксис:

robocopy исходная_папка папка-адресат / MIR / MT / TS /LOG:D:\Diff.txt

сравнить содержимое двух папок - robocopy sync mir

сравнить содержимое двух папок - robocopy sync mir

Автоматизируйте команды с помощью пакетного файла

Вы можете добавить все команды Robocopy в Блокнот и сохранить его как пакетный файл Windows (с .летучая мышь расширение). Просто дважды щелкните пакетный файл всякий раз, когда вы хотите синхронизировать упомянутые папки. Вы даже можете запускать командный файл с требуемыми интервалами с помощью планировщика заданий.

сравнить содержимое двух папок - robocopy sync mir

Метод 9: сравнение двух папок с помощью контрольной суммы хэша файла с утилитой FCIV

Используя алгоритм криптографического хеширования, например MD5, SHA-1, вы можете проверить, идентичны ли два файла или нет. Контрольная сумма - это хеш-значение, используемое для проверки целостности данных в файлах. Это своего рода подпись для файла.

Средство проверки целостности контрольной суммы файлов Microsoft (FCIV) - это служебная программа командной строки, которая вычисляет криптографические хэши MD5 или SHA1 для файлов. Вы можете вывести список файлов вместе с их хэшами MD5 или SHA1 в базу данных XML, а затем сравнить файлы в целевой папке с хэшами, хранящимися в файле базы данных XML.

Этот метод особенно полезен после того, как вы использовали один из вышеперечисленных методов - например, Robocopy или WinDiff для синхронизации двух папок и хотите проверить целостность каждого файла назначения, сравнивая хэш / контрольную сумму файла с хешем / контрольными суммами исходного местоположения.

Сценарий:

Давайте сравним содержимое следующих папок рекурсивно с помощью FCIV:

D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads

Загрузите средство проверки целостности контрольной суммы файлов Microsoft из официального центра загрузки Microsoft и извлеките fciv.exe в папку - например, d: \ tools. Затем следуйте одному из следующих методов:

Опция 1

  1. Откройте окно командной строки и используйте этот синтаксис командной строки:
    d: \ tools \ fciv.exe -r -add "D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads" -bp "D: \ Websites \ Winhelponline \ blog \ wp-content" -sha1 -xml d: \ hashdb.xml

    сравнить содержимое папки - контрольная сумма fciv

    Вышеупомянутая командная строка рекурсивно вычисляет хэш SHA1 для каждого файла и выводит имена файлов и соответствующие хэши в файл .XML с именем hashdb.xml.

    В -bp Параметр используется для указания базового пути, который нужно удалить из полного имени пути. Это гарантирует, что базовый путь не будет включен в вывод XML, чтобы вы могли сравнить элементы в пути к целевой папке, имеющие точно такую ​​же структуру папок.

    Вот как будет выглядеть содержимое XML-файла:

    сравнить содержимое папки - контрольная сумма fciv

  2. Теперь в окне командной строки переключитесь в папку назначения, выполнив следующую команду:
    cd / d "E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content"
  3. Затем выполните следующую команду и нажмите ВХОДИТЬ:
    d: \ tools \ fciv.exe -v -sha1 -xml D: \ hashdb.xml

    Приведенная выше команда проверяет конечные файлы на соответствие контрольным суммам хешей, записанным ранее в XML-файле. hashdb.xml.

    В выводе отображается список измененных файлов (на основе контрольной суммы хэша) и список отсутствующих файлов (в месте назначения):

    if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-small-square-2-0')};

    сравнить содержимое папки - контрольная сумма fciv

    Вот пример вывода.

    Начало проверки контрольных сумм: дата / время
    Список измененных файлов: ----------------------- uploads \ 2019 \ 05 \ w10-extended-search-settings.png Хеш: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Должно быть: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d
    Невозможно хешировать загрузку файлов \ 2019 \ 05 \ windiff-header.png
    Сообщение об ошибке: Система не может найти указанный файл. Код ошибки: 2
    Невозможно хешировать загрузку файлов \ 2019 \ 05 \ windows-store-error-0x800706d9.png
    Сообщение об ошибке: Система не может найти указанный файл. Код ошибки: 2
    uploads \ 2019 \ 05 \ w10-extended-search-settings.png Хеш: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Должно быть: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d
    Невозможно хешировать загрузку файлов \ 2019 \ 05 \ windiff-header.png
    Сообщение об ошибке: Система не может найти указанный файл. Код ошибки: 2
    Невозможно хешировать загрузку файлов \ 2019 \ 05 \ windows-store-error-0x800706d9.png
    Сообщение об ошибке: Система не может найти указанный файл. Код ошибки: 2
    Конец проверки: отметка времени

Вышеупомянутый метод очень полезен для проверки целостности совпадающих файлов в целевой папке. Но он не показывает список дополнительных файлов в месте назначения. Вот где вариант 2, представленный ниже, имеет дополнительное преимущество.

Вариант 2

Вместо вывода списка файлов и контрольных сумм в базу данных XML вы можете вывести элементы в источнике и месте назначения в отдельные текстовые файлы. Затем текстовые файлы можно сравнить с помощью WinDiff, WinMerge, DiffChecker.com или утилиты WinCompare.

if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-netboard-2-0')};

Запустите эти команды из окна командной строки.

fciv -r "D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads" -bp "D: \ Websites \ Winhelponline \ blog \ wp-content"> d: \ source.txt fciv -r "e: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads" -bp "e: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content"> d: \ destination .текст

сравнить содержимое папки - контрольная сумма fciv

Затем сравните два файла source.txt а также destination.txt с помощью инструмента сравнения файлов, такого как WinDiff, WinMerge, DiffChecker.com, DiffMerge или WinCompare.

сравнить содержимое папки - контрольная сумма fciv

Вы увидите список отсутствующих файлов, дополнительных файлов и измененных файлов (на основе вычисленной контрольной суммы) в двух местах расположения папок.

if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-small-rectangle-1-0')};

Я синхронизировал две папки с помощью RoboCopy, а затем снова сравнил папки, используя контрольную сумму FCIV. Теперь они идентичны!

сравнить содержимое папки - контрольная сумма fciv

Метод 10: сравнение двух папок с помощью PowerShell

Используя PowerShell, вы можете легко рекурсивно сравнивать две папки.

Запустите PowerShell. Скопируйте следующий фрагмент и вставьте их все в окно PowerShell и нажмите ВХОДИТЬ

Введите исходную папку и целевую папку, заменив source_folder_path а также dest_folder_path заполнители соответственно.

$ Folder1 = "путь_к_источнику" $ Folder2 = "путь_на_папке" функция Get-Directories ($ path) { $ PathLength = $ path.length Get-ChildItem $ path -Recurse | % { Add-Member -InputObject $ _ -MemberType NoteProperty -Name RelativePath -Value $ _. FullName.substring ($ PathLength + 1) $ _ } }
Сравнить-объект (Get-каталогов $ Folder1) (Get-каталогов $ Folder2) -Property RelativePath | Сортировка RelativePath, Имя -desc 

сравнить содержимое двух папок

Вы увидите такой результат:

сравнить содержимое двух папок

Боковой индикатор <= означает, что файл или папка существует только в источнике. т.е. отсутствует в пункте назначения.
Боковой индикатор => означает, что файл или папка существует только в месте назначения. т.е. отсутствует в источнике.

Примечание редактора: приведенный выше код сравнивает только имена файлов без сопоставления каких-либо других деталей, таких как размер, дата изменения и т. Д. PowerShell имеет возможность выполнять хеш-сравнение элементов в двух папках и выводить результаты, что описано в следующем метод.

if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-mobile-leaderboard-1-0')};

Синхронизировать папки

С помощью примерно 10 дополнительных строк кода PowerShell вы даже можете копировать различные или отсутствующие файлы из источника → назначения или наоборот. Дополнительные сведения см. В разделе «Синхронизация файлов и папок с помощью PowerShell».

Метод 11: сравнение двух папок с помощью PowerShell с контрольной суммой хэша файла

Чтобы сравнить файлы в двух местах с использованием контрольной суммы хэша файла, вы можете использовать PowerShell. PowerShell по умолчанию использует SHA-256 алгоритм, который можно изменить с помощью -Алгоритм параметр. Как было сказано ранее, контрольная сумма хэша - это своего рода подпись для файла, который уникален.

В этом примере мы сравним следующие папки:

D: \ Сайты \ Winhelponline \ блог \ wp-content \ uploads \ 2019 E: \ RameshPC-Синхронизированное резервное копирование \ Сайты \ Winhelponline \ blog \ wp-content \ uploads \ 2019

Используйте следующую командную строку для вычисления хэша для файлов в исходной папке и вывода результатов в source.txt файл.

Get-ChildItem 'D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019' -Recurse | Get-FileHash | Выберите путь, хеш | export-csv d: \ source.txt -Delimiter "t" -NoTypeInformation

Затем выполните следующую команду, чтобы удалить базовые пути из файла.

(gc -path d: \ source.txt -raw) -replace 'D: \ Websites \ Winhelponline \ blog \ wp-content \', '' | Исходный файл d: \ source.txt

Список имен файлов (с относительным путем) вместе с хешами SHA-256 выводится в source.txt файл.

сравнить папки с помощью хеша PowerShell

Точно так же запустите команды для вычисления хэшей для элементов в месте назначения, а затем удалите базовые пути из destinations.txt:

Get-ChildItem 'E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019' -Recurse | Get-FileHash | Выберите путь, хеш | export-csv d: \ destination.txt -Delimiter "t" -NoTypeInformation
(gc -path d: \ destination.txt -raw) -replace 'E: \ RameshPC-Synced Backup \ Веб-сайты \ Winhelponline \ blog \ wp-content \', '' | Исходящий файл d: \ destination.txt

Приведенная выше команда рекурсивно вычисляет хэш для каждого файла в целевой папке, и вывод записывается в d: \ destination.txt

Сравните с помощью PowerShell

Затем сравните файлы с помощью следующей команды PowerShell:

Сравнить-объект -ReferenceObject $ (Get-Content d: \ source.txt) -DifferenceObject $ (Get-Content d: \ destination.txt) | эт

сравнить папки с помощью хеша PowerShell

Он показывает разные файлы и расположение каждого элемента, обозначенного символами <= или => для левой папки и правой папки соответственно. Вывод также показывает дополнительные файлы в источнике и в месте назначения.

Сравните с помощью WinDiff

В качестве альтернативы вы можете запустить WinDiff и сравнить d: \ source.txt а также d: \ destination.txt. Вы можете использовать следующую командную строку WinDiff для сравнения файлов:

d: \ Tools \ windiff.exe d: \ source.txt d: \ destination.txt

сравнить папки с помощью хеша PowerShell

Вывод WinDiff показывает различия, выделенные желтым / красным цветом. Из приведенного выше снимка экрана мы можем сделать вывод, что файл 0xc1900101-error.png отличается. Кроме того, целевая папка или правая папка (обозначены символами !> в WinDiff) имеет дополнительный файл с именем 1h.txt.

PowerShell поддерживает множество алгоритмов хеширования и поэтому имеет преимущество перед инструментом FCIV.exe. Инструмент Microsoft FCIV поддерживает только алгоритмы MD5 и SHA-1, которые устарели и могут быть неэффективными из-за проблем с коллизиями, хотя и очень редко. Конфликт SHA-1 означает, что два файла имеют одинаковые хэши SHA-1, но разное содержимое. Таким образом, SHA-256 может быть предпочтительным алгоритмом для сравнения файлов или папок в производственной среде.Обратите внимание, что методы командной строки 11 и 12 ниже только помогают сравнить структуру двух каталогов вместе с файлами. Они не сравнивают размеры файлов или дату изменения, чтобы узнать, какой из них новее. Они выполняют только простое сравнение на основе имен файлов, и вы не узнаете, поврежден ли один из файлов назначения во время операции копирования. В производственной среде вам может потребоваться использовать другие инструменты или методы, если вам нужно проверить целостность ваших файлов в исходной и целевой папках, чтобы убедиться, что они являются одними и теми же копиями.

Метод 12: перечислите структуру папок с помощью команды ДЕРЕВО

Чтобы сравнить два каталога вместе с подкаталогами, старый добрый ДЕРЕВО команда очень удобна. Предположим, вы хотите сравнить две папки (включая имена файлов) D: \ SOURCE и D: \ DEST, выполните следующие действия:

if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-leader-2-0')};

  1. Откройте окно командной строки.
  2. Введите эти команды:
    ДЕРЕВО D: \ SOURCE / A / F> D: \ SOURCE.TXT
    ДЕРЕВО D: \ DEST / A / F> D: \ DEST.TXT

    Это выводит каждый результат команды в отдельные текстовые файлы в вашем D: \ корневой каталог диска. Текстовые файлы будут иметь структуру каталогов в древовидном формате, что упрощает работу по сравнению.Совет: чтобы сравнить только каталоги, удалите / F флаг.

  3. Затем запустите вашу утилиту сравнения текстов, такую ​​как WinDiff, WinMerge или DiffMerge. Кроме того, вы можете сравнить два текстовых файла онлайн на сайте diffchecker.com.
  4. Перейдите на сайт DiffChecker.com и вставьте содержимое файла d: \ source.txt в один столбец и D: \ DEST.txt в другой столбец. Щелкните Найти различия.сравнить две папки и список файловСравнение каталогов

    сравнить две папки и список файловСравнение каталогов и файлов

Метод 13: составление списка папок с помощью команды DIR

Чтобы сравнить содержимое двух каталогов, вы можете использовать другую командную строку: DIR команда.

Используйте следующий синтаксис командной строки для рекурсивного создания списка файлов в каталоге. Затем вы можете сравнить его с помощью инструмента сравнения или DiffMerge.

КАТАЛОГ D: \ SOURCE / S / AD / B> D: \ SOURCE.TXT
КАТАЛОГ D: \ DEST / S / AD / B> D: \ DEST.TXT

Совет: чтобы включить файлы в список каталогов, снимите флаг «/ AD».

Однако есть одна проблема при использовании команды DIR. В выводе перечислены полные пути к каталогам и файлам, как показано ниже:

  1. D: \ Source \ Apr \ Week1
  2. D: \ Source \ Apr \ Week2
  3. D: \ DEST \ Apr \ Week1
  4. D: \ DEST \ Apr \ Week2

В этом случае вам необходимо удалить базовые пути сравнения. D: \ ИСТОЧНИК \ а также D: \ DEST \ в соответствующие текстовые файлы, отредактировав их с помощью Блокнота. Для массовой замены текста используйте параметр «Заменить» в Блокноте и удалите все вхождения базового пути.

if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-winhelponline_com-sky-2-0')};

После этого сохраните файлы и сравните их содержимое в Интернете с помощью DiffChecker или с помощью автономного инструмента для сравнения текста, такого как WinDiff или WinMerge.сравнить две папки и список файловСравнение каталогов - список, созданный с использованием DIR вместо TREE

Готов поспорить, вы найдете вывод содержимого каталога, созданный с помощью TREE, намного проще и аккуратнее, чем DIR.

Надеюсь, что описанные выше методы помогли вам быстро рекурсивно сравнить содержимое двух папок, выявить отсутствующие и измененные файлы и согласовать различия.

Дайте знать ваши комментарии!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *