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

How Compare Contents Two Folders

Предположим, вы создали задачу резервного копирования XCOPY, SyncToy или любой другой инструмент для зеркального копирования определенного каталога в другое место. Если вы используете Microsoft SyncToy, особенно в Windows 10, возможно, что иногда файлы или папки могут отсутствовать в месте назначения или в папке назначения есть дополнительные файлы или папки, которых нет в исходной папке.



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



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



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

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

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



  1. Microsoft WinDiff
  2. WinMerge
  3. Total Commander
  4. FreeFileSync
  5. SyncFolders
  6. DSynchronize
  7. Утилита HashMyFiles (сравнение контрольной суммы хэша)

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

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

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

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

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

WinDiff - это графический инструмент для сравнения файлов от Microsoft, который был впервые выпущен в 1992 году и впоследствии обновлен. Пожалуйста, держись! Не удивляйтесь, когда будет выпущен первый выпуск.

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

Как видите, WinDiff не просто сравнивает имена файлов, но также сравнивает содержимое файлов в обоих местах и ​​выделяет изменения, если содержимое файла отличается.

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

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

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

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

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

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

сравнить содержимое двух папок в 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 Difference nt (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  upl oads  2019.  06  archives  bash-sh.vbs только в E:  RameshPC-Synced Backup  Websites  Winhelponline  blog  wp-content  uploads  2019 - 17 файлов в списке

Поскольку выходной файл имеет формат с разделителями табуляции, вы должны иметь возможность импортировать в Microsoft Office Excel или Google Таблицы без труда.пожаловаться на это объявление

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

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

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

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

Использование: windiff [параметры] путь1 [путь2] Параметры: -D Сравнить только один каталог. -F [flags] savefile Сохранить составной файл в 'savefile'. «Флаги» могут состоять из одного или нескольких из I (идентичный), L (левый), R (правый), F (перемещенный влево), G (перемещенный вправо), S (аналогичный влево), A (аналогичный вправо), X (выход после сохранения списка). (например, -FLF сохраняет список строк влево или влево). -I файл Читает список файлов для сравнения из указанного входного файла. Каждая строка может содержать одно или два имени файла, разделенных пробелами (в кавычках, если имена файлов содержат пробелы). Используйте '-' в качестве имени файла для чтения из стандартного ввода. Если строка содержит только одно имя файла, файл сравнивается с самим собой. -N name Уведомление NET SEND для 'name' в конце сравнения. -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:

-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 теперь синхронизирует папку, рекурсивно копируя отсутствующие и измененные файлы в указанное место (слева → справа). winmerge - логотип

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

В базе знаний Microsoft есть статья о WinDiff под названием Как использовать утилиту Windiff.exe которую вы, возможно, захотите проверить.

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

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

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

  1. Запустите WinMerge. В меню Файл щелкните открыто
    winmerge сравнить результаты главная
  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. Прямо к … : Скопировать файлы из нужной папки в другую папку.

значок freefilesync


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выберите вариант синхронизации. Я установил свой 2-сторонняя синхронизация (вместо Зеркало ) для этой цели.

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

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

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

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

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

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

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

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


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

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

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

В главном окне или на вкладке обработки щелкните значок Сканировать кнопку для просмотра статистики.

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

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

Чтобы просмотреть список файлов и папок, откройте окно сравнения, щелкнув значок Детали… кнопка.

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

total commander - логотип

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

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

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

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

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

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

 

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

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

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

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

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

SyncFolders.exe 'диск:  путь  My Rules.rls' / background / synchronize

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

    синхронизировать папки в реальном времени - dsync Также вы можете щелкнуть файл правой кнопкой мыши и выбрать Обратное направление копирования для изменения направления синхронизации.

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

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


Метод 6: сравнение и синхронизация папок в реальном времени с помощью DSynchronize

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Название задания можно изменить, нажав на РАБОТА в верхней части главного окна программы.

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

'D:  dsynchronize  DSynchronize.exe' / STARTJOB 'Uploads' / MINIMIZE

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

'D:  dsynchronize  DSynchronize.exe' / STARTJOB 'Uploads' / AUTOREALTIME

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

Это оно!


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

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

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

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

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

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

D:  Websites  Winhelponline  blog  wp-content  uploads  2019 E:  RameshPC-Synced Backup  Websites  Winhelponline  blog  wp-content  uploads  2019

Следуй этим шагам для генерации хэшей файлов с помощью HashMyFiles и их сравнения:

  1. Скачать HashMyFiles и запустите его.
  2. В меню Параметры щелкните Типы хэша и выберите SHA-256
    сравнить файлы в двух папках - hashmyfiles
  3. В меню 'Просмотр' нажмите Выбрать столбцы
    сравнить файлы в двух папках - hashmyfiles
  4. В настройках столбца включите параметры SHA-256 , Полный путь , и Размер файла . Щелкните ОК.
  5. Щелкните меню Файл и выберите Добавить папку
  6. Выберите исходную папку для сравнения.
    Папки различий в списке команд robocopy
  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  Сайты  Winhelponline  blog  wp-content 

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

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

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

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

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


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

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

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

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

Сценарий

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

D:  Websites  Winhelponline  blog  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 sync mir

    Результаты вышеуказанной команды регистрируются в 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  Dest: E :  RameshPC-Synced Backup  Websites  Winhelponline  blog  wp-content  uploads  Files: *. * Параметры: *. * / TS / L / S / E / DCOPY: DA / COPY: DAT / PURGE / MIR / R: 1000000 / Вт: 30 ------------------------------------------- ----------------------------------- 583 D:  Сайты  Winhelponline  blog  wp-content  uploads  * EXTRA Dir -1 E:  RameshPC-Synced Backup  Websites  Winhelponline  blog  wp-content  uploads  2019  videos  * EXTRA File 821886 2019/04/07 07:19:24 tiktok-superman-dance. mp4 3 D:  Websites  Winhelponline  blog  wp-content  uploads  2019  Scripts  Older 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:  Websites  Winhelpon line  blog  wp-content  uploads  h1-10  83 D:  Websites  Winhelponline  blog  wp-content  uploads  h1-11  1 D:  Websites  Winhelponline  blog  wp-content  uploads  reg  9 D:  Сайты  Winhelponline  blog  wp-content  uploads  temp  ------------------------------ ------------------------------------------------ Всего скопировано Пропущено несоответствие FAILED Extras Dirs: 113 0 113 0 0 1 Файлы: 4125 3 4122 0 0 1 Байты: 59.96 m 632 59.95 m 0 0 802.6 k Times: 0:00:00 0:00:00 0:00:00 0: 00:00 Завершено: 8 апреля 2019 г. 17:06:10 

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

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

В этом примере заметные отличия:

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

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

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

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

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

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

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

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

Режим зеркального копирования RoboCopy ( /МНЕ ) похож на Microsoft SyncToy ‘S“ Выбросил ' характерная черта. Помните, RoboCopy выполняет только левую → правую синхронизацию - НЕ двусторонняя синхронизация.

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

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

robocopy исходная_папка папка-адресат / MIR / MT

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

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

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

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

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

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

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

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

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


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

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

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

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

Сценарий:

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

D:  Сайты  Winhelponline  blog  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. Затем выполните следующую команду и нажмите ENTER:
    d:	oolsfciv.exe -v -sha1 -xml D:hashdb.xml

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

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

    сравнить содержимое папки - контрольная сумма 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-Enhanced-search-settings.png Хеш: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Должен быть: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900ng.Система загрузки файлов  ms-2019 не может быть найдена  ms-header. указанный файл. Код ошибки: 2 Невозможно хешировать загрузку файла  2019  05  windows-store-error-0x800706d9.png Сообщение об ошибке: системе не удается найти указанный файл. Код ошибки: 2 Окончание проверки: отметка времени

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

Вариант 2

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

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

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.txt

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

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

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

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

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

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


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

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

Запустите PowerShell. Скопируйте следующий фрагмент и вставьте их все в окно PowerShell и нажмите ENTER.

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

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

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

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

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

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

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

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

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


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

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

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

D:  Websites  Winhelponline  blog  wp-content  uploads  2019 E:  RameshPC-Synced Backup  Websites  Winhelponline  blog  wp-content  uploads  2019

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

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

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

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

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

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

Аналогичным образом запустите команды для вычисления хэшей для элементов в пункт назначения , а затем удалите базовые пути из 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 \ Websites \ Winhelponline \ blog \ wp-content \', '' | Исходящий файл d:  destination.txt

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

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

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

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

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

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

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

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

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

Вывод 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: ИСТОЧНИК и D: DEST , Следуй этим шагам:

  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

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

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

DIR D:  SOURCE / S / AD / B> D:  SOURCE.TXT
DIR 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 в соответствующие текстовые файлы, отредактировав их с помощью Блокнота. Для массовой замены текста используйте параметр «Заменить» в Блокноте и удалите все вхождения базового пути.

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

Сравнение каталогов - список, созданный с использованием DIR вместо TREE

Бьюсь об заклад, вы найдете вывод содержимого каталога, созданный с использованием ДЕРЕВО быть намного проще и аккуратнее, чем ТЕБЕ .


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

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


Одна небольшая просьба: если вам понравился этот пост, поделитесь им?

Одна «крошечная» публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:
  • Приколи это!
  • Поделитесь этим в своем любимом блоге + Facebook, Reddit
  • Твитнуть!
Так что большое спасибо за вашу поддержку, мой читатель. Это займет не более 10 секунд вашего времени. Кнопки «Поделиться» находятся прямо внизу. :)