Привет, ЖЖ. Давно не писал сюда, пора бы пошевелиться. К слову, после переезда вся моя статистика посещаемости из поисковиков рухнула (гугля меня почти не видит), поэтому я не сковываю себя вообще никакими обязательствами. И это здорово. А теперь к делу.
Как правило, мне лень писать интро на такие самоочевидные вещи, как необходимость синхронизации файлов. Бла-бла-бла, информация, бла-бла-бла, большие объемы, экономия времени, бла-бла, доступ отовсюду, мобильность, бла-бла...В общем, я поставил себе задачу распихать кучу файлов и папок сначала внутри одной вычислительной машины, а затем синхронизировать это со второй.
Сравнение
Существует множество программ для сравнения файлов и папок. Я попробовал разные и остановился на отечественной (?) разработке -
Compare Suite. О ней я уже мимоходом упоминал в
статье про создание локальной сети. Она произвела на меня сильное впечатление, так как умела работать в локалке. Да, она видела мою локальную сеть! Я мог сравнивать файлы на двух компах сразу, а не перезаливать папки туда-сюда! Я не знаю...это как...как первый телевизор или полет в космос. Это был прорыв. Но когда эйфория схлынула, обнаружились и первые недостатки. И я не о триале на 30 дней (все или большая часть подобных программ просят денег). Я о том, что, например, первые два-три раза сортировать файлы, нажимая руками флажки-перенаправители, еще интересно, а дальше лень берет свое и хочется большего комфорта, большей автоматизации. Фактически ты тратишь время на то, чтобы разобраться, что перекидывать, а что - нет. И так каждый раз. Хочется не к месту процитировать небезызвестного AVGN: "О чем они думали?". И, несмотря на наличие кнопки автоматической синхронизации, я боялся совершить ошибку, так как отката не было. И делал всё вручную. Еще я обнаружил, что программа странно перебивает даты, назначая перемещенным файлам текущую. Всё это привело к конфликтам дат в будущем.
Вот так выглядит скриншот настроек. Мощно, не правда ли?
Дополнительными функциями (а может, и главными, ведь программа называется - Compare Suite, а не Синхронизейшен сьют, например) было сравнение содержимого текстовых файлов, а также сравнение пары картинок. Это если есть два файла с разными именами, но похожим текстом. Довольно круто. Картинки сравнивать не пробовал, не было нужды. Программа хороша для разового наведения порядка, но впоследствии я от неё отказался.
Частные случаи
1. Ахиллесовой пятой всех программ подобного рода была, как ни странно, недостаточная гибкость настроек, а именно: умение игнорировать критерии сравнения. На скриншоте выше видно, что Compare Suite умеет не замечать пробелы и регистр букв. Нашлёпка на Total Commander опционально не видит разницы между датами файлов. Прекрасно. Но все программы, до которых я только мог дотянуться, всегда учитывали расширение. То есть, для них не было варианта, когда файлы Текстовый документ.txt и Текстовый документ.pdf идентичны по содержанию и поэтому "одинаковы". Почему? Почему нельзя воткнуть эту настройку? Впрочем, ладно, я выкрутился. Не перевелись на Руси люди, умеющие кодить. Мне очень помог JS-скрипт, который написал
takopus. Большое спасибо ему за это, скрипт выручал меня не раз. Для его работы нужен браузер, выглядит всё так:
Скрипт работает с 2 папками, при указании которых нужно выделить часть или все (Ctrl + A) файлы в них. В отчете будут выведены несовпадающие по имени файлы, при этом расширения при сравнении будут-таки проигнорированы.
2. Вторая ситуация была связана со сравнением двух списков приложений для ВК (я всё еще рассчитываю когда-нибудь написать четвертую часть обзора). Оказалось, что отфильтровать один список по отношению к другому удобнее всего в столбцах Excel. И помогла мне программа ExcelCompare (не путать с
этой большой программой). Не помню, где её нашел, автор - Борис Моренко. Представляет собой экзешник, вызывающий таблицу Excel и диалоговое окно такого вида:
Наибольший интерес представляет группа настроек "Тип сравнения". Таким образом, можно получить отфильтрованный список любого вида.
Синхронизация
Итак, я уже говорил, что в целях периодической синхронизации отказался от Compare Suite. Сделал я это в пользу скромной программы
Good Sync. И она действительно хороша. Она умеет только сравнивать и синхронизировать файлы по именам (не по содержанию), зато как!
В чем же её преимущества?
1. Все плюшки сравнения папок в Compare Suite
2. Поддерживает папки неограниченной вложенности. Указываем только верхнюю границу
3. Работает не только с дисками одной машины (на которой установлена копия программы) и локальной сетью (Windows Shares), но и с облачными сервисами по протоколу WebDAV, FTP, а также "персонально" с Amazon S3, Google Drive, SkyDrive, Windows Azure и собственным сервисом GoodSync Connect. Шикарный набор.
3. Представляет собой список заданий, в отличие от единичных в Compare Suite. Это особенно бесило, ведь для проверки каждой пары папок приходилось перезапускать и перенастраивать программу. Здесь же настроил и забыл.
4. Поддерживает два метода работы - синхронизация (двусторонний процесс копирования/удаления) и резервное копирование (постоянное накопление файлов)
5. Безопасное удаление файлов и корректная работа с датами. Обеспечивается созданием скрытых папок gsdata, в которых составляются списки имён и резервные копии на случай восстановления. Можно настроить периодическую очистку этих папок.
6. Определение конфликтов (если файл после последней синхронизации был изменен на двух устройствах, система спросит, чему отдать приоритет)
7. Удобная фильтрация в виде исключений и принудительных "включений" в анализ. Программа понимает маркеры "*" (любое число знаков), "?" (любой знак) и "/" (относительный путь к файлу).
8. Предельная автоматизация. В принципе, можно настроить программу так, чтобы она выполняла задания практически без участия человека (кроме разрешения возможных конфликтов). Хотя я отказался от такого хардкора и предпочитаю лишь автоматический анализ (программа сама делает сравнения и выводит отчет, но не запускает синхронизацию), чтобы вовремя вносить правки и не удалять лишнего.
9. Дружелюбное меню с подсказками. При наведении курсора на кнопки и панели программа выведет краткий мануал.
Так выглядит рабочее окно
Возможна и многоступенчатая синхронизация (более, чем с двумя устройствами). Для этого нужно создать пересекающиеся задания с центральном звеном в компьютере, на котором установлен Good Sync. Например, цепочку комп1 - комп2 и комп1 - флешка. Главное, не запутаться в порядке обработки заданий, чтобы случайно не откатиться назад.
Единственный "минус" - её
расценки. Но и просто попробовать и хотя бы однажды зачистить с ней авгиевы конюшни - то еще удовольствие. Экономия на избавлении от рутины колоссальная. Жаль, она не может ещё и делать всю важную работу за нас