[Quote]

    SmokieBlahBlah
  • 1736
  • Longevity: 5 years 3 months
  • Posts: 44
  • REPUTATION:2

    [+] [-]
Приветствую всех! Не подскажете, существует ли такой синхронизатор, который умеет "если размер файлов одинаковый, а даты разные, то сравнить по содержимому"? И желательно "если содержимое одинаковое, то клонировать дату с исходного на конечный файл".

[Quote]

    AZJIO
  • 17953
  • Longevity: 2 years 11 months
  • Posts: 577
  • REPUTATION:68

    [+] [-]
SmokieBlahBlah, есть моя прога синхронизации
В основном синхронизирую каталоги софта на флешке и компе, когда антивирусники чужих компов убивают из моего сборника exe-файлы. Ну и просто иногда сравниваю комплекты файлов, например справочники обновляю, но нельзя тупо с компа копировать, потому что есть временные и секретные файлы, поэтому сравниваю изменение и скидываю вручную.
Вот это я не учел, перебить дату, у меня копирует при разных датах, но для ехе это не особо критично, а фильмы по датам не сравнивал.

[Quote]

    volodja_spec1983
  • 2902
  • Longevity: 4 years 10 months
  • Posts: 32
  • REPUTATION:1

    [+] [-]
  • Location: Россия
SmokieBlahBlah, попробуй FreeFileSync.
FreeFileSync - это утилита, которая была разработана для синхронизации файлов в указанных пользователем каталогах. Реализовано сравнение файлов не только по размеру и дате, но и по содержимому (побайтовое сравнение). Отличительной чертой приложения следует считать простой и понятный графический интерфейс. К синхронизируемым файлам могут применены фильтры, с помощью которых можно исключать файлы из процесса или, наоборот, включать в него. Поддерживаются несколько методов синхронизации: автоматический режим, при котором изменения происходят в обеих папках; зеркальное отображение, при котором указанная папка становится «зеркалом» другой; режим обновления, когда происходит копирование только измененных и/или новых файлов; ручной режим. Предусмотрена также возможность синхронизации по расписанию. Утилита умеет обрабатывать файлы размером более 4 GB. Работает с облачными хранилищами от Гугла и FTP, SFTP.
Пользуюсь ей несколько лет, все устраивает. Утилита постоянно совершенствуется.

[Quote]

    SmokieBlahBlah
  • 1736
  • Longevity: 5 years 3 months
  • Posts: 44
  • REPUTATION:2

    [+] [-]
AZJIO, спасибо, попробовал. А командной строки нет в ней я так понял? Эх. Не хотел бы ты усовершенствовать и добавить новую настройку синхронизации?
volodja_spec1983, пробовал. В нем, как и во всех синхронизаторах, почему-то есть сравнение только в первую очередь по дате, а во вторую по размеру. А мне надо наоборот - первую очередь по размеру, затем по дате, да еще и по содержимому (если даты разные). Но это пока лучший вариант, что я нашел.

[Quote]

    AZJIO
  • 17953
  • Longevity: 2 years 11 months
  • Posts: 577
  • REPUTATION:68

    [+] [-]
SmokieBlahBlah, объясню свою логику в сравнении:
У меня случается ситуация, когда я обновляю софт на переносном диске во время установки программ, прихожу домой и в отличии от стандартной ситуации, когда я обновляю проги на своём компе у меня нестандартная ситуация, я помню что какие-то обновлял на переносном диске и при сравнении я смотрю даты. И бывает когда я обновил на компе и через время обновил на переносном, зная что я перед этим не синхронизировал и у меня получается одна и та же версия с разными датами, так как дата это всего лишь время в которое скачал прогу, не более. То есть я использую дату как аналог хеш-суммы. То есть я не проверяя хеш-сумму могу понять, что файлы разные по содержимому при одинаковом размере, то есть это обычно не exe-файл, а редактированные файлы. Чем мне не нравится использовать хеш-суммы - это то, что придётся 4-6 Гб софта именно считывать контент, то есть по времени это уже длительная операция, считывание обоих копий на компе и на переносном. Так как AutoIt3 работает в одном потоке, то эти операции будут ещё и последовательные, хотя можно было бы как-то придумать встроить exe-файл и запустить их параллельно, но опять же если сравнение на одном харде для обоих источников то операция бесполезная по разделению потоков.
По теории вероятности, по релевантности я выбрал одновременно быстрый способ и гарантирующий что я не потеряю файл, повторюсь при одинаковом размере критерий разницы файлов является дата, так как невозможно чтобы случайно создать два одинаковых по размеру файла с одинаковой датой, так как в дате указывается вплоть до секунд. Я лишь могу получить ложный случай - одинаковый файл с разными датами, но и этот конфликт а разруливаю визуально, так как помню, когда обновлял.
Кстати, дату можно использовать "Создание", тогда изменённые файлы нельзя было бы отличить, а одинаковые версии exe-файлов однозначно интерпретировать как одинаковые, потому что автор для новой версии часто меняет 1 секунду в дате. У меня используется "Время модификации" или "время изменения" кто как переводит, то есть при копировании файла или редактировании меняется. В исходнике функция FileGetTime, если в ней параметр "0" поменять на "1" то будет работать с датой создания.
командной строки нет
нет
Не хотел бы ты усовершенствовать
нет. Интересует только если бы пришлось переписать на PureBasic, я каждый раз думаю, может мне какую нибудь свою прогу переписать на PureBasic, но взвешивая за и против, отстраняюсь от этой идеи. Во первых я преследую цель написать прогу меньше размером, например 100 кб в разжатом, простив 300 кб в сжатом, а по факту 600-700кб учитывая что автор AutoIt3 сам сжимает выходной файл своим каким-то своим алгоритмом. Но при добавлении движка рег.выр сразу прибавляется 100кб к проге, а если добавить движок работы с графикой png то еще 150 кб. В общем приду к тому же размеру. Единственный плюс - изучение PureBasic и возможность в дальнейшем писать для Linux. Ну и плюс, исходник для Windows можно адаптировать под Linux, сразу создавать проги для 2-х платформ.


Display posts:    

Current time is: 28-Jan 01:04

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum