SmokieBlahBlah
- Стаж: 9 лет 2 месяца
- Сообщений: 44
- Репутация:2[+] [-]
|
Приветствую всех! Не подскажете, существует ли такой синхронизатор, который умеет "если размер файлов одинаковый, а даты разные, то сравнить по содержимому"? И желательно "если содержимое одинаковое, то клонировать дату с исходного на конечный файл".
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1325
- Репутация:127[+] [-]
|
SmokieBlahBlah, есть моя прога синхронизации В основном синхронизирую каталоги софта на флешке и компе, когда антивирусники чужих компов убивают из моего сборника exe-файлы. Ну и просто иногда сравниваю комплекты файлов, например справочники обновляю, но нельзя тупо с компа копировать, потому что есть временные и секретные файлы, поэтому сравниваю изменение и скидываю вручную. Вот это я не учел, перебить дату, у меня копирует при разных датах, но для ехе это не особо критично, а фильмы по датам не сравнивал.
|
volodja_spec1983
- Стаж: 8 лет 9 месяцев
- Сообщений: 28
- Репутация:1[+] [-]
- Откуда: Россия
|
SmokieBlahBlah, попробуй FreeFileSync. FreeFileSync - это утилита, которая была разработана для синхронизации файлов в указанных пользователем каталогах. Реализовано сравнение файлов не только по размеру и дате, но и по содержимому (побайтовое сравнение). Отличительной чертой приложения следует считать простой и понятный графический интерфейс. К синхронизируемым файлам могут применены фильтры, с помощью которых можно исключать файлы из процесса или, наоборот, включать в него. Поддерживаются несколько методов синхронизации: автоматический режим, при котором изменения происходят в обеих папках; зеркальное отображение, при котором указанная папка становится «зеркалом» другой; режим обновления, когда происходит копирование только измененных и/или новых файлов; ручной режим. Предусмотрена также возможность синхронизации по расписанию. Утилита умеет обрабатывать файлы размером более 4 GB. Работает с облачными хранилищами от Гугла и FTP, SFTP. Пользуюсь ей несколько лет, все устраивает. Утилита постоянно совершенствуется.
|
SmokieBlahBlah
- Стаж: 9 лет 2 месяца
- Сообщений: 44
- Репутация:2[+] [-]
|
AZJIO, спасибо, попробовал. А командной строки нет в ней я так понял? Эх. Не хотел бы ты усовершенствовать и добавить новую настройку синхронизации? volodja_spec1983, пробовал. В нем, как и во всех синхронизаторах, почему-то есть сравнение только в первую очередь по дате, а во вторую по размеру. А мне надо наоборот - первую очередь по размеру, затем по дате, да еще и по содержимому (если даты разные). Но это пока лучший вариант, что я нашел.
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1325
- Репутация: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-х платформ.
|
Текущее время: 15-Дек 02:58
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|