вторник, 12 февраля 2013 г.

Утилиты дедупликации файлов

В результате  тестирования под свои нужды множества утилит поиска дублирующихся файлов я выбрал японскую утилитку FileMany. В ней хорошо то, что даже в бесплатной версии есть 90% нужных функций.
Мне эта программа нужна была для поиска дублей в разных архивах данных одного и того же проекта. Иначе говоря, есть "последняя копия" и я хотел удалить все дубли из предыдущих копий.




Сильные стороны:
  • Несколько алгоритмов сравнения, от медленного, но точного, до менее точного, но более быстрого.
  • Возможность заблокировать определенные подкаталоги и диски от изменений (Lock), что позволяет сравнивать два похожих каталога, и удалять файлы только из одного из них.
  • Возможность массово отметить к удалению все файлы в определенном каталоге и подкаталогах (выбирается через контекстное меню).
  • Есть поиск по списку результатов, сортировки.
  • Удаление в корзину.
  • Критерии отбора сравниваемых файлов.
  • Сохранение и импорт результатов поиска (проекта).
  • Работа без существенных ошибок.
Слабые стороны:
  • Потребляет очень много памяти. В экспериментах объем доходил до 10 ГБ, особенно странно, что память потребляется на этапе удаления файлов (в корзину).
  • Дубли нельзя переместить в специальную папку с сохранением иерархии папок, перемещение возможно только в плоскую структуру.

Другие неплохие программы:
  • Fast Duplicate File Finder. Программа немецких разработчиков быстра и точна, но основные "удобства" имеются только в платной версии.
  • Duplicate Cleaner. Неплохая программа, со многими удобствами, но по каким-то причинам находит не все дубли. Также потребляет много памяти и подвисает при удалении  файлов в корзину и перемещении их в папку.
  • Duplicate & Same Files Searcher. Российская программа, в основном интересная тем, что дубли можно не удалять, а заменять жесткими ссылками NTFS. Зачем то требует прав администратора.

понедельник, 11 февраля 2013 г.

Как извлечь отметки, сделанные в прочитанной в iBooks книге(iPad/iPhone)

How to extract notes and their context from book read in iBooks.

iBooks отличная читалка для книг, и даже позволяет экспортировать сделанные при чтении отметки, но к сожалению контекст этих отметок при экспорте теряется.

Для решения этой проблемы я написал небольшой скрипт на языке Perl. Скрипт относится к категории "кустарная поделка для личных нужд" и никакие претензии к нему не принимаются.

Процедура извлечения данных из iBooks при его помощи выглядит следующим образом.

1.Подготовка: требуется скачать и установить на PC интерпретатор ActivePerl и средство для извлечения данных из iPad архивов iPhone Backup Extractor. Для наших целей подойдет бесплатная версия последнего, позволяющая извлекать всего два файла за раз.

2. Подключить iPad к PС и iTunes, и дождаться когда будет сделана резервная копия данных

3. Запустить iPhone Backup Extractor, перейти в Expert режим, найти папки с файлами iBooks (BKLibrary_ и storeFiles) и отметить файлы, начинающиеся с iBooks_  и AEAnnotation_. Затем нажать кнопку Extract Selected.




4. Найти извлеченные файлы на диске и скопировать их в  ту же паку, где находится скрипт.

5. Запустить скрипт с командной строки (cmd.exe).

Код скрипта здесь (его нужно распаковать, исполняемый файл имеет расширение .pl ): iPad_dump_annotations_bybook_v9

В каталоге должно появиться много файлов c расширением HTML, каждый из которых соответствует отдельной книге. Внутри файлы структурированы в виде дерева, стволом которого являются ваши заметки к книге, а листьями - выделенные "фломастером" участки текста книги, отсортированные в порядке их создания.

PS1. Естественно, сами файлы с исходными данными можно взять не из резервной копии, а напрямую с iPad, например, при помощи программы DiskAid.

PS2. Скрипт проверен для iBooks 2.5, для более поздних версий программа, он не проверялся.

PS3. Скрипт работает только для книг, не защищенных DRM.