[Цитировать]

    SmokieBlahBlah
  • 1736
  • Стаж: 9 лет 1 месяц
  • Сообщений: 44
  • Репутация:2

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

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

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

[Цитировать]

    volodja_spec1983
  • 2902
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 28
  • Репутация:1

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

[Цитировать]

    SmokieBlahBlah
  • 1736
  • Стаж: 9 лет 1 месяц
  • Сообщений: 44
  • Репутация:2

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

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
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-х платформ.


Показать сообщения:    

Текущее время: 21-Ноя 15:06

Часовой пояс: UTC + 3


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