- WinMerge — программа для сравнения файлов и содержимого папок
- Сравнение папок по содержимому в WinMerge
- Сравнения содержимого файлов с помощью WinMerge
- Программы для Windows
- Directory Compare сравнение директорий.
- Можно ли сравнить содержимое двух папок средствами windows, аналогичная функция есть в файловых менеджерах, например в total commander
- Как сравнить содержимое двух папок и синхронизировать их
- Способы сравнения двух папок:
- Выбор редактора:
- Сравните содержимое двух папок с помощью Microsoft WinDiff
- Переключатели командной строки WinDiff
- Синхронизация папок с WinDiff
- Сравните содержимое двух папок с помощью WinMerge
- Синхронизация папок с WinMerge
- Способ 3: Как сравнить файлы в двух папках с помощью FreeFileSync
- Синхронизировать папки с помощью FreeFileSync
- сравнить Синхронизировать локальную папку Vs. Папка FTP рекурсивно
- Запустите FreeFileSync как пакетное задание | Синхронизация командной строки
- Метод 4: Как сравнить файлы в двух папках с помощью TotalCommander
- Total Commander — Папка сравнения аргументов командной строки
- Синхронизировать папки с помощью TotalCommander
- Способ 5: сравнить Синхронизация папок в режиме реального времени с помощью DSynchronize
- Синхронизировать папки
- Синхронизация в реальном времени
- Поддержка командной строки
- Метод 6: Сравните две папки с помощью утилиты HashMyFiles с помощью контрольной суммы File Hash
- Метод 7: Как сравнить файлы в двух папках с помощью Robocopy
- сценарий
- Подробная информация об используемых параметрах командной строки Robocopy
- Синхронизировать папки с помощью Robocopy
- RoboCopy выполняет одностороннюю синхронизацию (из левой → правой папки)
- Автоматизируйте команды с помощью командного файла
- Метод 8: Сравните две папки, используя File Hash Checksum с утилитой FCIV
- Метод 9: Сравните две папки с помощью PowerShell
- Метод 10: Сравните две папки с помощью PowerShell с контрольной суммой хэша файла
- Способ 11: список структуры папок с помощью команды TREE
- Метод 12: Список структуры папок с помощью команды DIR
WinMerge — программа для сравнения файлов и содержимого папок
Всевозможные полезные программы для вебмасетров и веб-разработчиков могут значительно упростить им работу. Например, если вам нужно выполнить массовый поиск текстов в файлах, то Sublime Text и WinGrep отлично справляются с задачей. Хотите записывать gif с экрана или видеокамеры? – используйте ScreenToGif. Сегодняшний герой обзора WinMerge позволяет сравнивать содержимое файлов и директорий. По словам авторов софта, он также может объединять/синхронизировать объекты, но с этой функцией я пока не разобрался.
Начнем с небольшого общего обзора, а потом будет практика. Основная задача данной Open Source программы — помогать пользователю сравнивать и находить изменения в коде разных версий проектов. Например, вам нужно обновить шаблон сайта или какой-то модуль для CMS, в которые вы по ходу работы вносили собственные правки. Чтобы случайно не “перезаписать поверху” все свои труды,а нужно посмотреть какие файлы в новой версии были изменены и внести в них те же правки, что и в старой версии.
WinMerge значительно упрощает эту задачу:
- Во-первых, он позволяет быстро находить изменения в директориях, показывая все обновленные элементы.
- Во-вторых, проводится сравнение содержимого файлов с отображением различий в наглядном визуальном формате (см. скриншот выше).
Основные фишки программы:
- К сожалению, она поддерживает только Windows ОС, хотя при этом понимает текстовые форматы Mac/Unix.
- Интерфейс напоминает софт для веб-разработки – здесь имеется подсветка синтаксиса, нумерация строк и др.
- При сопоставлении версий отдельных файлов есть отдельная “навигационная карта” по ним, позволяющая визуально быстро понять где именно находятся отличия.
- Тут имеется подсветка различий не только по строкам, но и внутри них (когда изменились лишь некоторые параметры, тексты); работает обнаружение строк, которые были перемещены.
- При сравнении каталогов также доступно много полезных опций: фильтрация выборки, включение подкаталогов, древовидный результат и т.п. Однако я, если честно, просто искал измененные объекты без этих всех фишек.
- Есть даже сравнение изображений.
- Создание патчей для управления версиями.
- Интеграция с обычным контекстным Windows меню, поддержка доп.плагинов и архивов.
- К плюсам программы бы еще добавил наличие детальной документации, хоть она и на английском.
Сравнение папок по содержимому в WinMerge
В панели управления программы есть иконка с директориями – кликаете по ней. В открывшемся окне будет выбор нескольких папок для обработки.
Теоретически тут можно выбрать сразу 3 директории, но я в примере указал только 2 (чаще всего задача именно такая). Здесь же виден фильтр по файлам, которые будут участвовать в процессе. Затем нажимаем по кнопке «Compare».
Результат может быть отображен с помощью вкладок или в виде дерева:
Кликайте по стрелочкам возле директорий чтобы посмотреть подкатегории и их содержимое. Разные иконки позволяют быстро понять результат сравнения: либо объекты полностью идентичны, либо отличия найдены, либо файл/папка присутствуют только в одной из версий (старой либо новой).
Сравнения содержимого файлов с помощью WinMerge
После того как вы нашли отличающиеся версии файлов, кликаете по одному из них – результат откроется в новой вкладке. Такой формат достаточно удобен, т.к. можно параллельно смотреть несколько файлов + всегда реально вернуться к вкладке с результатами по директориям.
Слева отображается «навигационная карта», где сразу видны места имеющихся отличий. Прокручиваете до них и смотрите код. В примере на картинке выше видим, что в обновленной версии веб-проекта был добавлен целый блок новых переменных (а в старой — пустое место).
Итого. Как видите, использовать программу WinMerge достаточно просто. Мне она помогает, когда обновляю Wordpres шаблоны или плагины, где я делал изменения напрямую в исходном коде. Единственный ее недостаток для некоторых пользователей, что она работает только под Windows. Актуальную версию всегда найдете на официальном сайте. Там же есть документация и инструкции.
Программы для Windows
Directory Compare сравнение директорий.Для сравнения двух и более директорий и синхронизации между ними, предлагаю воспользоваться простой англоязычной утилитой — Directory Compare. Программа может работать на платформе от Windows XP, архитектурой х86 бит и х64 бит и оперативной памятью от 512 мб. — сравнение директорий, папок и подпапок, а также синхронизация их; Принципы работы Directory Compare довольно просты. После запуска утилиты, в окне программы нажимаем «Source», находим нужную директорию, далее с помощью кнопки «Target» выбираем директорию для сравнения и начинаем сканирование. После появления в окне результатов сравнения, в зависимости от поставленной задачи или удаляем найденные одинаковые папки (файлы) или переименовываем их. Можно сравнивать сразу несколько директорий, папок, файлов. В программе заложен стандартный набор фильтров: можно исключить или включить некоторые файлы из сканирования, можно ограничить списки файлов и т.д. Утилита также поможет вам синхронизировать две директории, или сделать необходимые изменения в одной из них. В настройках программы есть возможность выставления определенных параметров, в случае нахождения файлов с одинаковыми временными отметками. Если вам необходимо сравнить или синхронизировать несколько директорий, предлагаю скачать Directory Compare, которая быстро и надежно выполнит эту работу. Можно ли сравнить содержимое двух папок средствами windows, аналогичная функция есть в файловых менеджерах, например в total commanderМожно ли сравнить содержимое двух папок средствами windows, аналогичная функция есть в файловых менеджерах, например в total commander Вообще-то можно. Не очень удобно, зато под рукой. Для этого запустить командную строку. И в ней использовать команду comp с указанием полных путей к папкам. Чтобы не замучиться, печатая вручную длинные пути, предварительно можно скопировать две папки в корень любого диска, и дать им простые имена. Например, копируем на диск D: и даем имена tmp1 и tmp2. Потом в командной строке переходим на диск d: командой «d:» (без кавычек, и нажать ввод). И пишем «comp tmp1 tmp2» (без кавычек, и ввод-enter). Видим сравнение. Если файлов слишком много, можно сделать вывод отчета не на экран, а в файл отчета, тогда «comp tmp1 tmp2 > tmp-report.txt« Отчет будет в кодировке мс-дос, поэтому открывать умным в этом плане блокнотом/редактором, или Word’om. Потом стереть все временные папки через шифт-делит, чтобы не засорять корзину. Как сравнить содержимое двух папок и синхронизировать ихПредположим, вы создали задачу резервного копирования XCopy, SyncToy или любой другой инструмент для зеркального копирования определенного каталога в другое место. Если вы используете Microsoft SyncToy, возможно, что иногда файлы или папки могут отсутствовать в месте назначения, или в папке назначения есть дополнительные файлы или папки, которых нет в папке источника. В этой статье рассказывается, как сравнить структуру каталогов (вместе с файлами) в двух разных путях каталогов, чтобы убедиться, что у вас есть точная копия или зеркальная копия источника. Некоторые из методов ниже также обсуждают, как синхронизировать элементы в двух папках после сравнения. В этой статье обсуждается 12 методов сравнения папок (для Windows). Выберите тот, который подходит вам лучше всего. Если вам нужно проверить целостность файла после синхронизации, используйте одну из следующих процедур проверки контрольной суммы хеша. Способы сравнения двух папок:Методы GUI:
Методы командной строки:
Выбор редактора:
Сравните содержимое двух папок с помощью Microsoft WinDiffWinDiff — это графический инструмент сравнения файлов от Microsoft, который был впервые выпущен в 1992 году и впоследствии обновлен. Пожалуйста, подождите! Не удивляйтесь году первого выпуска. WinDiff по-прежнему великолепен и прекрасно работает в Windows 10, но не поддерживает Unicode. У него огромный потенциал. WinDiff может сравнить ASCII Двоичные файлы, сравните две директории и синхронизируйте папки (левая папка → правая папка или наоборот). Ссылка для скачивания WinDiff (локальное зеркало). Последняя обновленная версия WinDiff — 5.2.3790.0 с отметкой «Дата изменения» — 4-7-2016. Вы также можете загрузить WinDiff как часть пакета средств поддержки Windows XP и извлечь его содержимое с помощью 7-Zip. Для сравнения каталогов с помощью WinDiff:
Окно результатов или структуры по умолчанию показывает одинаковые файлы, а также различия. Вы можете скрыть идентичные файлы, отключив Показать одинаковые файлы из меню параметров. Как видите, WinDiff не только сравнивает имена файлов, но также сравнивает содержимое файлов в обоих местах и выделяет изменения, если содержимое файлов отличается. Двойной щелчок на «другом» элементе открывает окно сравнения с цветовым кодированием. Результаты в цветовой кодировке указывают на различия в файлах. WinDiff может делать ASCII и двоичное сравнение. Это означает, что WinDiff не полагается на дату изменения, но сравнивает фактическое содержимое файлов. Например, я изменил символ в текстовом файле в папке назначения (правая папка). Я заменил восклицательный знак двоеточием, и размер файла в обоих местах одинаков (1127 байт). WinDiff поднял его и показал, что файлы разные. Чтобы сохранить различия сравнения каталогов в файл, нажмите Сохранить список файлов в меню Файл. Введите имя файла с полным путем без двойных кавычек. Uncheck Идентичные файлы а также Включить контрольные суммы варианты и нажмите ОК. Выходной файл будет выглядеть так: Поскольку выходной файл находится в формате с разделителями табуляции, вы сможете легко импортировать его в Microsoft Office Excel или Google Sheets. Обратите внимание, что вы можете запустить WinDiff напрямую с путями источника и назначения в качестве дополнительных ключей для сравнения каталогов. Например, запуск windiff.exe «c:\source» «d:\destination» запускает инструмент и сразу сравнивает эти два пути к папкам. Переключатели командной строки WinDiffВот полный список параметров командной строки WinDiff. Чтобы сохранить отчет о сравнении в файл, используя -S переключатель. Примеры ниже: Сохраните список идентичных файлов в diff.txt: Сохраните список разных файлов в diff.txt: Сохраните список оставленных только файлов в diff.txt: Сохраняет список правых файлов в diff.txt: Сохраняет список левых и правых файлов в diff.txt: Чтобы автоматически выйти из WinDiff после сохранения отчета о сравнении, добавьте X переключатель, как показано ниже: Сохраните список правых файлов в diff.txt и выйдите из WinDiff. Сохраните список левых и правых файлов в diff.txt и выйдите из WinDiff Чтобы сгенерировать все 5 отдельных «лог-файлов», вам нужно будет запустить WinDiff 5 раз. См. Также Содержимое файла справки WinDiff (windiff.hlp) в формате HTML. Синхронизация папок с WinDiffЧто еще? WinDiff также может копировать отсутствующие или разные файлы в левую (папка 1) или в правую (папка 2) папку. Для этого
Важный: Не используйте двойные кавычки вокруг пути к папке, даже если путь к папке содержит пробелы. WinDiff не сможет скопировать файлы, если вы добавите двойные кавычки в путь. WinDiff теперь синхронизирует папку, рекурсивно копируя отсутствующие и измененные файлы в указанное место (влево → вправо). Несмотря на отличный ASCII Бинарное сравнение и базовые возможности синхронизации. WinDiff часто недооценивается среди ИТ-специалистов. Это потому, что он имеет устаревший пользовательский интерфейс и не поддерживает Unicode. Но WinDiff достаточно для большинства из нас, особенно для тех, кто использует англоязычную ОС. У Microsoft есть статья базы знаний по WinDiff под названием «Как использовать утилиту Windiff.exe», которую вы, возможно, захотите проверить. Сравните содержимое двух папок с помощью WinMergeВот как сравнить две папки с подпапками, используя WinMerge.
WinMerge генерирует результаты сравнения папок, выделяя различия желтым цветом. Преимущество использования WinMerge состоит в том, что он предлагает пять различных методов сравнения файлов на выбор:
WinMerge поддерживает множество параметров командной строки. Ознакомьтесь с Руководством по WinMerge для получения полного списка поддерживаемых параметров командной строки. Синхронизация папок с WinMergeЕсли вы сняли флажок Показать идентичные предметы из меню Вид в WinMerge, он показывает только список измененных, только левых и только правых файлов. Можно легко синхронизировать элементы слева → справа или наоборот. Все, что вам нужно сделать, это выбрать файлы (или выбрать все), щелкнуть правой кнопкой мыши по выбору и нажмите кнопку Копировать. В подменю «Копировать» выберите один из вариантов:
Способ 3: Как сравнить файлы в двух папках с помощью FreeFileSync
Он рекурсивно сравнивает элементы в двух папках и показывает список новых и измененных файлов. Одинаковые файлы скрыты в выводе. Он показывает только левые файлы, разные файлы и только правые файлы по умолчанию, а параметры можно переключать с помощью кнопок в нижней части окна FreeFileSync. Синхронизировать папки с помощью FreeFileSyncFreeFileSync предлагает следующие параметры синхронизации, аналогичные Microsoft SyncToy.
По умолчанию выполняется двусторонняя синхронизация. Лично я предпочитаю Зеркало резервное копирование для моего сайта проектов и Обновить опция резервного копирования для документов. Выберите один из вариантов синхронизации соответственно. В результатах сравнения все файлы выбраны по умолчанию. Вы можете исключить файл из синхронизации, сняв флажок рядом с именем файла или с помощью меню, вызываемого правой кнопкой мыши.
Это оно! Ваши папки теперь синхронизированы, а операции копирования / обновления / удаления регистрируются FreeFileSync. сравнить Синхронизировать локальную папку Vs. Папка FTP рекурсивноFreeFileSync также может сравнивать локальную папку с Google Drive или локальную папку с папкой, на которой ваш FTP-сервер рекурсивно с использованием FTP или SFTP-соединения. Вот как можно сравнить и синхронизировать локальную папку и подпапки с папкой на вашем FTP-сервере. Все, что вам нужно сделать, это нажать на Доступ к онлайн-хранилищу Кнопка рядом с кнопкой Обзор на левой панели или на правой стороне. При нажатии на эту кнопку открывается следующее диалоговое окно: Введите информацию о соединении FTP или SFTP, учетные данные и путь к каталогу FTP для сравнения с вашей локальной папкой. Когда вы закончите, вы вернетесь в окно сравнения. Выбрали Размер файла или Время и размер файла метод сравнения. Последний метод сравнения является более надежным. Выберите вариант синхронизации. Я поставил мой на Двусторонняя синхронизация (вместо того Зеркало) для этого. После настройки нажмите «Сравнить». Вы увидите список отсутствующих и разных файлов в левой и правой папках. Нажать на Синхронизировать кнопка для копирования файлов в обоих направлениях, так как выбрана двусторонняя синхронизация. Если вы хотите обновить только местоположение FTP, выберите Зеркало синхронизировать вместо этого. Запустите FreeFileSync как пакетное задание | Синхронизация командной строкиВы можете сохранить вышеуказанную конфигурацию в пакетное задание и запустить его через командную строку или планировщик. Чтобы сохранить конфигурацию и запустить ее с помощью командной строки, выполните следующие действия:
Вы можете создать пакетный файл Windows или запустить указанную выше команду через планировщик задач через определенные промежутки времени. Чаевые: FreeFileSync также может синхронизировать папки с Google Drive. Метод 4: Как сравнить файлы в двух папках с помощью TotalCommander
С Синхронизировать каталоги В диалоговом окне вы можете сравнить два каталога, включая подкаталоги, друг с другом, а затем скопировать файлы с различиями в целевой каталог или любой другой каталог. Если вы выбираете асимметричный опция, она делает правую папку зеркалом левой — аналогично командной строке RoboCopy / MIR или Microsoft SyncToy Echo вариант. То есть опция копирует отсутствующие или разные файлы в нужную папку, а все лишние файлы и папки справа удаляются. Вы можете выбрать, чтобы идентичные файлы или только разные файлы в выводе. Опции сравнения / синхронизации Total Commander описаны ниже.
Выберите параметры сравнения «Субдиры», «по содержанию». Важный: Если игнорировать дату Если флажок установлен, Total Commander не может найти различные / измененные файлы, даже если размеры файлов различны. Кажется, это ошибка в Total Commander, и я могу воспроизвести ее каждый раз. Total Commander — Папка сравнения аргументов командной строкиЧтобы запустить «Синхронизировать каталоги», вы можете использовать следующий синтаксис командной строки: Затем настройте параметры и нажмите сравнить кнопка. Для запуска «Синхронизировать директории» и сравнить папки сразу, используйте этот синтаксис: (сравнение начнется с пропущенных каталогов и последних использованных опций.) При желании вы также можете ввести имя настройки в форме /S=S:SettingsName так что сравнение начнется немедленно на основе ранее сохраненной настройки. Синхронизировать папки с помощью TotalCommander
По умолчанию функция выберет все более новые файлы для копирования. Чтобы отменить выбор файла, чтобы предотвратить его копирование или синхронизацию, дважды щелкните стрелку. Чтобы отменить выбор нескольких файлов, выберите файлы, щелкните правой кнопкой мыши элемент (ы) и выберите Удалить выделение Важный: Если асимметричный опция не включена, если файл в правой папке новее, чем файл в левой папке, синхронизация будет выполняться справа → слева для этого файла. Чтобы изменить его другим способом, нажмите на стрелку рядом с файлом, которая переключает направление синхронизации. Кроме того, вы можете щелкнуть правой кнопкой мыши по файлу и выбрать Обратное направление копирования изменить направление синхронизации. Нажмите на Синхронизировать. Откроется диалоговое окно для копирования выбранных файлов. По умолчанию он синхронизируется в обоих направлениях. Если вы хотите синхронизировать одним способом — например, левая папка → правая папка, отмените выбор Справа налево флажок и наоборот. Чаевые: Используя Total Commander, вы даже можете синхронизировать локальный каталог и каталог на FTP-сервере. Способ 5: сравнить Синхронизация папок в режиме реального времени с помощью DSynchronize
Синхронизировать папкиЧтобы синхронизировать папки, снимите флажок Предварительный просмотр синхронизации вариант под генеральный раздел и нажмите Синхронизировать. По умолчанию он синхронизируется в зеркальном режиме. Зеркальный режим обсуждался в этой статье ранее. Зеркальный режим гарантирует, что правая папка точно такая же, как левая папка. Любые дополнительные каталоги и файлы в месте назначения удаляются автоматически. Синхронизация в реальном времениЧтобы синхронизировать две папки в режиме реального времени:
По умолчанию он автоматически синхронизирует папки через 5 секунд. Вы можете настроить его для дальнейшей отсрочки или запланировать его запуск через определенные интервалы. Я скопировал некоторые файлы в левую папку (источник), и в течение 5 секунд элементы были автоматически синхронизированы с правой папкой. Вы можете видеть это в этом анимированном GIF: И, изменения (файл или папка дополнения удалений) регистрируются в главном окне. Когда включена синхронизация в реальном времени, она отслеживает изменения файлов, и программа находится в области уведомлений в ожидании изменений. Это не займет много ресурсов процессора или памяти. Последний раз, когда я проверял, он использовал только около 10 МБ памяти. Вот список основных функций DSynchronize:
Поддержка командной строкиВы можете использовать следующую командную строку для автоматизации DSynchronize: /START = Начать синхронизацию с последними сохраненными параметрами. Название работы можно настроить, нажав на КАРЬЕРА Кнопка в верхней части главного окна программы. Например, чтобы автоматически синхронизировать две папки (ранее сохраненное задание с именем «Загрузка»), я бы запустил эту команду: Чтобы синхронизировать две папки (задание «Загрузка») и активировать синхронизацию в реальном времени, выполните: Приведенная выше команда синхронизирует две папки, указанные в задании, и автоматически активирует мониторинг в режиме реального времени. Вы можете увидеть значок мониторинга в реальном времени в области уведомлений. Метод 6: Сравните две папки с помощью утилиты HashMyFiles с помощью контрольной суммы File HashHashMyFiles — небольшая утилита, которая вычисляет контрольные суммы хешей для ваших файлов. Он может вычислить хеш для файлов в папке и ее подпапках рекурсивно. HashMyFiles позволяет сохранять результаты в файл. Он также может вычислить контрольную сумму хеша через контекстное меню. Если PowerShell не ваша чашка чая, используйте утилиту HashMyFiles от Nirsoft.net для сравнения хэшей файлов. Вы можете сохранить имена файлов и соответствующие выходные данные хеш-функции для дерева исходных папок в source.txt. Аналогично, сохраните записи для дерева папок назначения как destination.txt. В этом примере мы собираемся сравнить файлы в следующих папках: Следуй этим шагам для генерации файловых хешей с использованием HashMyFiles и сравнения их:
Вы также можете найти и удалить = символы, используемые в качестве разделителей. Вот как теперь выглядят файлы: Вы увидите список различных файлов, дополнительных файлов и отсутствующих файлов. Метод 7: Как сравнить файлы в двух папках с помощью RobocopyДавайте теперь посмотрим, как использовать встроенный Robocopy консольная утилита для сравнения содержимого двух папок. Robocopy («Robust File Copy for Windows») — это превосходный встроенный в Windows инструмент для копирования файлов, обладающий огромными возможностями. Возможности Robocopy выходят за рамки встроенных команд Windows Copy и XCopy. RoboCopy является наиболее предпочтительным из всех методов командной строки, поскольку Robocopy сравнивает не только имена файлов, но и время последнего изменения. Он сообщает список измененных файлов и новых файлов / папок в исходном и целевом путях. Среди его отличных функций можно назвать копию в «зеркальном» режиме (аналог «Microsoft SyncToy»эхо”), Возможность повторять копирование в случае сетевых прерываний, многопоточное копирование и т. Д. Помимо копирования файлов, мы можем использовать Robocopy, чтобы просто сравнивать содержимое двух папок (рекурсивно) и регистрировать различия, не копируя что-либо, например прогон, репетиция. сценарийФайлы моего сайта синхронизируются с внешним жестким диском ( E:\ регулярно Для иллюстрации давайте проверим, идентичны ли эти две папки. В этом примере мы будем рекурсивно сравнивать следующие папки (то есть вместе с подпапками глубокое сравнение):
Результаты вышеупомянутой команды регистрируются в D:\Diff.txt файл. Подробная информация об используемых параметрах командной строки Robocopy
В этом примере мы записываем вывод в D:\Diff.txt , Вот как выглядит журнал: Вы можете ясно видеть дополнительные каталоги и файлы в исходной и целевой папках. Кроме того, он сравнивает отметку времени и сообщает, являются ли файлы более старыми или новыми (по сравнению с тем же файлом в месте назначения). В этом примере здесь обнаружены различия:
Полный список классификаций файлов RoboCopy: Заметка: Tweaked Файл определяется как файл, который существует как в источнике, так и в месте назначения, с одинаковым размером и отметкой времени, но с разными настройками атрибута. Robocopy — удивительный инструмент для сравнения синхронизировать файлы в двух папках (вместе с подпапками нескольких уровней) и перечислять различия в файле журнала. Синхронизировать папки с помощью RobocopyДля синхронизации папок (только с левой → правой папки) с RoboCopy, используйте тот же синтаксис командной строки, который мы использовали ранее для сравнения папок, но на этот раз без /L (только для списка) переключатель. RoboCopy выполняет одностороннюю синхронизацию (из левой → правой папки)Режим зеркального копирования RoboCopy ( /MIR ) похож на «Microsoft SyncToy»эхо» характерная черта. Помните, что RoboCopy выполняет только левую → правую синхронизацию — НЕ двусторонняя синхронизация. Это важный отметить, что /MIR переключиться также удаляет все лишние файлы и каталоги в дереве папок назначения. «Дополнительные» файлы / папки — это элементы, присутствующие в месте назначения, но не присутствующие в исходном пути. /MIR (зеркало) команда гарантирует, что структура папки назначения (и файлы) является точной копией источника. Используйте следующий синтаксис командной строки для синхронизации элементов из левой → правой папки: /MT Переключатель должен сделать многопоточное копирование для сверхбыстрой операции копирования. Это дополнительный переключатель, но чрезвычайно полезный. Состояние синхронизации выводится в консоли для каждого обработанного элемента, а статистика отображается в конце выходных данных. Чтобы записать вывод в файл, используйте этот синтаксис: Автоматизируйте команды с помощью командного файлаВы можете добавить все команды Robocopy в Блокнот и сохранить их как пакетный файл Windows (с помощью .bat расширение). Просто дважды щелкните по пакетному файлу, когда вы хотите синхронизировать упомянутые папки. Вы даже можете запускать пакетный файл с необходимыми интервалами, используя планировщик задач. Метод 8: Сравните две папки, используя File Hash Checksum с утилитой FCIVИспользуя алгоритм криптографического хеширования, например, MD5, SHA-1, вы можете проверить, идентичны ли два файла или нет. Контрольная сумма — это хэш-значение, используемое для проверки целостности данных в файлах. Это своего рода подпись для файла. Проверка целостности контрольной суммы файла Microsoft инструмент (FCIV) — это утилита командной строки, которая вычисляет криптографические хеши MD5 или SHA1 для файлов. Вы можете вывести список файлов вместе с их хэшами MD5 или SHA1 в базу данных XML, а затем сравнить файлы в целевой папке с хешами, хранящимися в файле базы данных XML. Этот метод особенно полезен после того, как вы использовали один из вышеперечисленных методов — например, Robocopy или WinDiff для синхронизации двух папок и хотите проверить целостность каждого файла назначения, сравнивая хэш / контрольные суммы файла с исходным местоположением. Сценарий: Давайте сравним рекурсивное сравнение содержимого следующих папок с помощью FCIV: Скачайте Microsoft File Checksum Integrity Verifier с официального центра загрузки Microsoft и извлеките fciv.exe в папку — например, d:\tools , Затем выполните один из этих методов: Опция 1
Приведенная выше командная строка рекурсивно вычисляет хэш SHA1 для каждого файла и выводит имена файлов и соответствующие хеши в файл .XML с именем hashdb.xml , -bp Параметр используется для указания базового пути для удаления из полного имени пути. Это гарантирует, что базовый путь не будет включен в вывод XML, так что вы можете сравнить элементы в пути к папке назначения, имеющие точно такую же структуру папок. Вот как будет выглядеть содержимое файла XML: Приведенная выше команда проверяет ваши файлы назначения по контрольным суммам хеша, которые вы записали ранее в файле XML hashdb.xml , На выходе отображается список измененных файлов (на основе контрольной суммы хэша) и список отсутствующих файлов (в месте назначения): Вот пример вывода. Вышеуказанный метод очень полезен для проверки целостности согласование файлы в папке назначения. Но это не показывает список дополнительный файлы в месте назначения. Вот где Вариант 2 ниже имеет дополнительное преимущество. Вариант 2 Вместо вывода списка файлов и контрольных сумм в базу данных XML вы можете вывести элементы в исходном и целевом элементах в отдельные текстовые файлы. Затем текстовые файлы можно сравнить с помощью утилиты WinDiff, WinMerge, DiffChecker.com или WinCompare. Запустите эти команды из окна командной строки. Затем сравните два файла source.txt а также destination.txt используя инструмент сравнения файлов, такой как WinDiff, WinMerge, DiffChecker.com, DiffMerge или WinCompare. Вы увидите список отсутствующих файлов, дополнительных файлов и измененных файлов (на основе вычисленной контрольной суммы) в двух местах расположения папок. Я синхронизировал две папки, используя RoboCopy, а затем снова сравнил папки, используя контрольную сумму хэша FCIV. Теперь они идентичны! Метод 9: Сравните две папки с помощью PowerShellИспользуя PowerShell, вы можете легко рекурсивно сравнивать две папки. Запустите PowerShell. Скопируйте следующий фрагмент и вставьте их все в окно PowerShell и нажмите клавишу ВВОД. Введите исходную и целевую папки, заменив source_folder_path а также dest_folder_path заполнители соответственно. Вы увидите такой вывод: Боковой индикатор означает, что файл или папка существует только в источнике. то есть отсутствует в пункте назначения. Синхронизировать папки Приблизительно с 10 дополнительными строками кода PowerShell вы можете даже скопировать разные или отсутствующие файлы из источника → назначения или наоборот. Для получения дополнительной информации см. Синхронизация файлов и папок с PowerShell. Метод 10: Сравните две папки с помощью PowerShell с контрольной суммой хэша файлаЧтобы сравнить файлы в двух местах с помощью контрольной суммы хэша, вы можете использовать PowerShell. PowerShell по умолчанию использует SHA-256 алгоритм, который вы можете изменить с помощью -Algorithm параметр. Как уже говорилось ранее, контрольная сумма хеша является своего рода подписью для файла, который является уникальным. В этом примере мы собираемся сравнить следующие папки: Используйте следующую командную строку, чтобы вычислить хэш для файлов в исходной папке и вывести результаты в source.txt файл. Затем выполните следующую команду, чтобы удалить базовые пути из файла. Список имен файлов (с относительным путем) вместе с хешами SHA-256 выводятся на source.txt файл. Аналогично, запустите команды для вычисления хэшей для элементов в назначения, а затем удалить базовые пути из destinations.txt : Вышеприведенная команда рекурсивно вычисляет хэш для каждого файла в папке назначения, а выходные данные записываются в d:\destination.txt Сравните с помощью PowerShell Затем сравните файлы с помощью следующей команды PowerShell: Он показывает различные файлы и расположение каждого элемента, обозначенного символами или => для левой папки и правой папки соответственно. Вывод также показывает дополнительные файлы в источнике, а также в месте назначения. Сравните с помощью WinDiff Кроме того, вы можете запустить WinDiff и сравнить d:\source.txt а также d:\destination.txt , Вы можете использовать следующую командную строку WinDiff для сравнения файлов: Выход WinDiff показывает различия, выделенные желтым / красным. Из приведенного выше снимка экрана мы можем сделать вывод, что файл 0xc1900101-error.png отличается. Кроме того, папка назначения или правая папка (обозначается символами !> в WinDiff) имеет дополнительный файл названный 1h.txt , PowerShell поддерживает множество алгоритмов хеширования и поэтому имеет преимущество перед инструментом FCIV.exe. Инструмент Microsoft FCIV поддерживает только алгоритмы MD5 и SHA-1, которые устарели и могут быть неэффективными из-за проблем коллизий, хотя и очень редко. Столкновение SHA-1 означает, что два файла имеют идентичные хэши SHA-1, но разный контент. Таким образом, SHA-256 может быть предпочтительным алгоритмом сравнения файлов или папок в производственной среде.
Способ 11: список структуры папок с помощью команды TREEДля сравнения двух каталогов вместе с подкаталогами, старый добрый TREE Команда приходит очень удобно. Предположим, вы хотите сравнить две папки (включая имена файлов) D: \ SOURCE и D: \ DEST, выполните следующие действия:
Это выводит каждый из результатов команды в отдельные текстовые файлы в вашем D:\ корневой каталог диска. Текстовые файлы будут иметь структуру каталогов в древовидном формате, что облегчает сравнение. Совет. Чтобы сравнить только каталоги, удалите /F флаг.
Метод 12: Список структуры папок с помощью команды DIRДля сравнения содержимого двух каталогов можно использовать еще одну командную строку: DIR команда. Используйте следующий синтаксис командной строки для рекурсивного создания списка файлов в каталоге. Затем вы можете сравнить его с помощью инструмента сравнения или DiffMerge. Совет: чтобы включить файлы вместе со списком каталогов, уберите флаг «/ AD». Однако при использовании команды DIR есть одна проблема. В выводе перечислены полные пути к каталогам и файлам, как показано ниже:
В этом случае вам нужно удалить базовые пути сравнения D:\SOURCE\ а также D:\DEST\ в соответствующие текстовые файлы, редактируя их с помощью блокнота. Чтобы выполнить массовую замену текста, используйте параметр «Заменить» в блокноте и удалите все вхождения базового пути. После этого сохраните файлы и сравните их содержимое онлайн с помощью DiffChecker или с помощью автономного инструмента для сравнения текста, такого как WinDiff или WinMerge.
Бьюсь об заклад, вы найдете вывод содержимого каталога, созданный с помощью ДЕРЕВО быть намного легче и намного аккуратнее, чем DIR. Надеюсь, что описанные выше методы помогли вам быстро рекурсивно сравнить содержимое двух папок, выявить отсутствующие и измененные файлы и устранить различия. |