tengu_crow: (Default)
[personal profile] tengu_crow
Наконец, с легкой руки тов. [livejournal.com profile] high_way_star разжился собственным DVD-RW. Который и эксплуатировал эти выходные - благо было настроение и время. Начал с того, что слил весь мусор на одну болвань, освободив гига три. А потом...



Вот чем может занятся человек, заполучивший DVD? Я начал упорядочивать свою библиотеку :) Необыкновенно увлектельное занятие на самом деле.

Поскольку место у меня высвободилось, я решил переформатировать старую добрую Библиотеку Ксены Принцессы-Воина Персии. Это в своем роде монументальная вещь по количеству книг и степени упорядоченности. Особенно если учесть что диск компоновался то ли на 486 то ли на 586 компьютере, который стоял давным-давно в одной далекой гал... во втором общежитии Академии Связи. Так вот. Во-первых, я решил забэкапить диск (ибо болвани уже один Конфуций знает сколько лет), а во-вторых, я решил его переформатировать под свои нужды. Дело в том, что книги там хранятся или в формате "Асприн Роберт.rar" или (отдельные буки россыпью) вообще лежат в "братской могиле" вроде "A.rar".

1.

Тут я сделал паузу чтобы решить - чего именно мне хочется? Мой основной инструмент для работы с подобными вещами - это шустрый и удобнейший каталогер Cathy, который может вести каталог по любому носителю и обладает зверской скоростью поиска и развитым поисковым языком. Штука настолько мощная и удобная, что я использую ее в том числе для поиска по своему винту :)

Cathy каталогизирует только имена и структуры. Поэтому, в идеале все книги в библиотеке должны лежать отдельными файлами. Одна книга - один файл (по принципу снайперов - одна пуля - один труп :)

И называться так же как называются mp3-файлы. То есть "Асприн Роберт - Холодные финансовые войны.zip". Тогда поиск по автору-названию будет совсем не трудным и мне даже не понадобится доставать диск с полки, чтобы посмотреть - есть там нужная мне книга или нет (а в старой библиотеке для этого требовалось во-первых найти диск, во-вторых закопаться в архив "Асприн Роберт.rar" плюс попутно проверить - а не занесло ли чего-нибудь в архив "А.rar").

Следующим был вопрос о выборе архиватора для текстов. Было три варианта - плэйн текст, рар или зип. Вообще-то я приверженец рар-а, но в данном случае все-таки решил остановиться на zip-е, ибо его понимают все и везде. Что еще удобно, большинство текстовых поисковиков может искать и внутри зиповых архивов (хорошие поисковики вроде AVSearch ищут и внутри раров), так что можно заниматься полнотекстовым поиском даже не распаковывая буки. Словом быстрый и компактный рар был принесен в жертву универсальному зипу.

Все прочее (листы таблиц в экселе, базы данных в аксессе или SQL, подробная классиификация по жанрам - неокиберпанк, постфутуристическйквадростимпанк и дадаистический экспрессивный постмодерн) от лукавого, ибо никто этим не пользуется. А если пользуется - то редко.

2.

Стандарты были определены и я засучив рукава отважно принялся за работу. Для начала все было распаковано на диск (и отъело у меня 2 Гига). После этого в ход пошла тяжелая артиллерия, а именно Total Commander и .cmd - файлы. Для пакетной обработки файлов ничего лучше и проще по сей день не придумано. Особенно, когда выяснилось, требуется обработать пять тысяч файлов :) И вот тут мне пригодился опыт товарищей вирусописателей. Я помнил, что давным-давно читал в какой-то заметке про то, что батниками удобно вести массовые переименования и копирования файлов, причем это очень-очень развитый язык. Таким макаром даже писались вирусы (очень примитивные), которые распространяли сами себя по диску. Ну...

Во-первых, было использовано "групповое переименование" Тотала и функция, которая показывает в каталоге все файлы одним чохом, где бы они не лежали (Ctrl+M, Ctrl+B соответственно). Я свалил все файлы в одну кучу (не трогая их расположения по папкам) и прошелся по ним, переименовав Так Чтобы Каждая Первая Буква Была Большой ("АСПРИН Роберт" на мой вкус читается хуже чем "Асприн Роберт"). И заодно привел в божеский вид еще некоторые мелочи.

Во-вторых, слегка покопавшись в документации я сделал два крошечных батника, один из которых перебирал все директории в своей папке, и внутри каждой из этих директорий запускал второй батник. Второй батник в своей директории для каждого файла поочередно запускал WinRar и паковал им файлы в .zip (ну вот так вот у меня система настроена :) и удалял исходные тексты.

Voila! Все как надо - папки по именам авторов (Асприн Роберт), внутри папки - отдельные архивы под каждую буку (Асприн Роберт - Холодные Финансовые Войны.zip) и общий размер - 680 Метров против 660 которые были до этого.

Овчинка стоила выделки. Выяснилось, что множество файлов, которые сейчас убраны скажем из Мошкова ("по просьбам") или те которые я собирался выкачивать, оказывается спокойно лежат у меня на диске :) Попутно всплыло много вкусностей.



Вторая часть Марлезонского Балета


Отдыхая от трудов праведных я вспомнил о том, что в файловых дебрях моего диска есть еще некоторое количество книг от Шамана (а точнее - прибежавших из ФИДО), которые вообще сделаны в сногсшибательном фидошном стандарте. Например - asprir014.rar, внутри которого лежит File.diz с заголовком и краткой аннотацией и coldwr.txt собственно с текстом. Мне казалось, что этих книг немного, а выяснилось, что немного - это 5110 бук, которые заархивированы в рар и в таком виде занимают 758 Метров. Когда я их распаковал они съели еще 2 Гига пространства :)

Это был вызов. А я уже вошел в нездоровый азарт :)

Попутно у меня навернулась операционная система (по другим, независимым причинам :), но это меня не могло остановить. Был написан батник, который бродит по диску, находит File.diz, выдирает из него название книги, добавляет к нему название архива, в котором он лежит и все это сваливает в файл 1.txt лежащий у меня в корневике. Затем файл 1.txt был подвергнут вивисекции, вычищен от багов и превращен в .cmd файл, переименовывающий файлы из тех что были в те что надо :)

Конечно, всплыло множество подводных камней. Во-первых буква Н. В фидо "эн прописное русское" считается служебным символом и везде где можно заменяется на "эйч прописное латинское". Аналогичная фигня творится с "эр строчное русское" и "пи строчное латинское". Визуально оно не видно, но попробуйте угадать с трех раз каково искать слово "Ночь" в двух вариантах. Во-вторых, и этот камень мне не удалось обойти - во всех описаниях имя автора стоит на первом месте (у Принцессы Ксены все было комильфо :) - т.е. "Роберт Асприн" вместо "Асприн Роберт". То есть авторов отсортировать по алфавиту сложно. Если кто-то думает что достаточно переставить местами два первых слова в каждом файле, то могу разочаровать их, ибо есть такие товарисчи как Альфред Элтон Ван-Вогт или Сергеев-Ценский с Новиковым-Прибоем :) Посему я решил оставить все как есть.

Итог - две библиотеки упорядочено и отсортировано. Десять тысяч книг (причем дополняющие друг-друга, ибо диск Ксены - старая добрая и основательная подборка книг, а диск Шамана - это новинки и вкусности вроде Росциуса и Рю Мураками) около 1,4 Гига.

Очередь за дежавюками :)

Если кому-нибудь интересно - может заглянуть к хакерам за теми статьями, которые я использовал как основу для батов или на сайт к скриптерам, где тоже масса полезного.

February 2026

S M T W T F S
1234567
891011121314
1516171819 2021
22 232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 16th, 2026 08:05 pm
Powered by Dreamwidth Studios