Jul. 14th, 2009

rdavid: (Default)

В жизни любого обладателя цифровой камеры наступает момент, когда трудно найти нужную фотографию. Ищешь прошлогодние фотографии со дня рождения подруги жены? Вроде, скидывал вот сюда... или сюда... короче, где-то точно есть, но где? Обладателю цифровой камеры очень быстро становится ясно, что нужна единая система именований файлов, которая позволит быстро находить фотографии.

Опишу мои этапы большого пути. Начинал я с простой системы, назовём её Алеф:
1. создать каталог вида "День Рождения Лены 2002"
2. в созданный каталог скопировать файлы с фотоаппарата вида IMG_0804.jpg

Мысль о неудобности выбранного способа, приходит, когда количество каталогов превысит пятьдесят. Поиск среди дней рождений, морских прогулок и встреч в лесу становится невыносимым. У меня система Алеф продержалась около полу-года. На смену пришла система Бэт:
1. каталог вида YYYYMMDD.description, где YYYY - год, MM - месяц, DD - день, например, 20020328.lena.birthday
2. файл вида YYYYMMDD-CC.jpg, где CC - порядковый номер в серии (от 01 до 99, или 001-999), например, 20020328-36.jpg

Этот способ позволяет сортировать каталоги по времени. Также появилась уникальность отдельного файла, что позволяет комбинировать фотографии из разных каталогов, не боясь конфликта имён. Система Бэт довольно хороша, она служила мне семь лет. С течением времени обнаружились некоторые недостатки, с которыми я покорно мирился. Например, как именовать фотографии других фотографов. Я добавлял буквы 'b', 'c' или 'e' к имени, например, 20020328b-01.jpg. Или, как отсортировать по времени фотографии с двух разных камер? Простым файловым менеджером эта задача не решалась, так как время съёмки не входило в имя файла. В общем, пришла очередь системы Гимел:
1. каталог вида YYYYMMDD-what-where, где YYYY - год, MM - месяц, DD - день, what - краткое описание события, where - место события, например, 20020328-lena-birthday-jerusalem
2. файл вида YYYYMMDDHHMISS-name-CCCC.jpg, где HH - час, MI - минута, SS - секунда, CCCC - порядковый номер в серии (от 0001 до 9999, или 001-999), например, 20020328223625-rabkin-0036.jpg

Я отказался от использования точки как разделителя. За точкой закреплено разделение имени файла и его раширения, другое использование не комильфо. Я увеличил разрядность счётчика кадров, так как стал больше фотографировать, а стирать меньше.

Чтобы автоматизировать переименование файлов, я написал скрипт. Он использует бесплатную утилиту для работы с EXIF данными ExifTool. Кроме переименования, скрипт добавляет к файлам аттрибит read-only, что затрудняет случайное удаление или изменение файлов. Также скрипт переводит все буквы имени в нижний регистр.



Вообще говоря, система именования файлов не так проста, как кажется на первый взгляд. Так что в будущем я не исключаю появления системы Далет.

September 2021

S M T W T F S
    12 34
567891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 12th, 2025 05:07 am
Powered by Dreamwidth Studios