Как именовать файлы, чтобы было удобно
Имена файлов для фотографий
Я ежегодно выгружаю фото из облака на жёсткий диск. Для названия фото я использую дату, время с точностью до минуты и порядковый номер внутри минуты:
ГГГГ-ММ-ДД чч-мм ННН[ особенность],
2023-04-23 16-50 000 гора такая-то.jpeg.
Обычно этого хватает, чтобы быстро найти нужные фотки. Что ещё даёт формат выше, и почему он такой?
- Бесплатная сортировка по дате и времени: в файловом менеджере всё расположится хронологически.
- Привычное двоеточие для разделения часов и минут непереносимо между операционными системами, поэтому использован дефис (16-50 vs 16:50).
- Номер
ННН
нужен для фото в течение одной и той же минуты. Вместо номера можно писать секунду и миллисекунду, но как по мне, это избыточно и плохо смотрится. Особенность
я обычно использую для фото, «изолированным» во времени. Это короткая фраза, чтобы понять, что на фотографии происходит.
Фото я обычно объединяю в директории по годам, а внутри неё некоторые фото объединияю по событию (поездка, праздник и т.п.), указывая хотя бы год:
ГГГГ и ГГГГ[-ММ[-ДД]]-событие.
Внутри директорий фото по-прежнему названы в формате как выше. Что делать с новогодними, я пока не решил 🙂
Как быстро переименовать сотни фоток
Для быстрого переименования фотографий и видео есть классная утилита — exiftool. Это консольная программа, которая умеет читать метаданные фотографии (EXIF) и позволяет переименовать файлы. Поддерживает множество форматов. Так я переименовываю jpeg-и.
mkdir copy
exiftool -o copy -P -d '%Y-%m-%d %H-%M %%03.c.%%e' '-filename<CreateDate' *.jpeg
И так переименовываю mov-ы.
mkdir copy
exiftool -o copy -P -d '%Y-%m-%d %H-%M %%03.c.%%e' '-filename<CreationDate' *.mov
Команды отличаются только выбором метаданных: с моего телефона временная метка о создании фотки лежит в CreateDate
, а о видео в CreationDate
.
Всё остальное одинаковое:
-o copy
предписывает создать копии, чтобы не похерить оригиналы в случае чего;-P
предписывает сохранить все метаданные исходников, так мы действительно лишь переименовываем файлы;-d 'fmt'
это формат имени файла;-filename<tag
указывает из каких меток дёргать информацию для переименования.
На сайте exiftool множество примеров, а документация вполне себе. Вероятно, существует и оконная морда для утилиты, но мне ОК работать из-под консоли.
Чтобы понять, какие метки хранит ваша фотка, подходит команда:
exiftool 'Screenshot 2024-12-03 at 21.15.06.png'
ExifTool Version Number : 13.03
File Name : Screenshot 2024-12-03 at 21.15.06.png
Directory : .
File Size : 584 kB
File Modification Date/Time : 2024:12:03 21:15:13+03:00
File Access Date/Time : 2025:01:26 14:44:23+03:00
File Inode Change Date/Time : 2024:12:03 21:15:13+03:00
...
Чтобы всё выше работало, нужны оригиналы файлов. Добросовестные соцсети и месенджеры метаданные трут, и правильно делают. А ещё они сжимают файлы. Короче, для личных альбомов просите у близких оригиналы («отправить как документ»).
Имена для заметок и задач
Имя заметки удобно начинать с даты:
ГГГГ-ММ-ДД название,
2024-07-13 созвон с Иван Иванычем,
2024-07-14-python-orm-review.
- Для ежедневной заметки имя лучше и не придумаешь.
- Удобно для проектов на работе. Заводите директорию с таким именем, а датой выбираете начало выполнения.
- Если вы работаете из-под консоли, то смело заменяйте пробелы в на то, что предпочитаете (я за kebab-case, вот почему).
Формат даты, который я использую
В именах файлов выше использован один и тот же формат даты, ISO 8601:
ГГГГ-ММ-ДД,
2024-10-09 → 9 октября 2024-го года.
Почему он?
- Дату без разделителя тяжело читать (20241009).
- Файлы с именами, начинающимися как выше, «бесплатно» отсортированы по дате (лексиграфический порядок): что в файловых менеджерах, что при написании скриптов.
- Привычный жителю России разделитель «точка» конфликтует с разделителем для типа файла (2024.10.09.png).
- ISO 8601 — международный стандарт, поэтому велика вероятность, что та или иная программа его распознает.
Имена файлов для книг, статей и публикаций вообще
У меня много литературы в электронном виде, и я стараюсь использовать Zotero как библиотеку (инфотеку). Но без него, я не нашёл способа именовать книги или статьи лучше, чем так
фамилия - год - часть названия,
фамилия и фамилия - год - часть названия,
фамилия и др. - год - часть названия.
Т.е. указывать фамилии авторов, год публикации и часть названия. Например,
Головаль - 2024 - LaTeX в 2024 году.pdf,
Voskov and Tchelepi - 2012 - Comparison of nonlinear formulations.pdf,
Григорьев и др. - 2017 - Обзор работ по теории фильтрации.pdf.
- Мне проще ориентироваться по фамилиям авторов, поэтому они в начале.
- Двух или трёх авторов могу написать целиком, а при большем числе авторов оставляю фамилию только первого («фамилия и др.»)
В том же формате я сохраняю презентации с митингов или ноутбуки коллег, но указываю год и месяц:
Иванова - 2024-09 - Как пользоваться докером.pdf,
Petrov - 2024-08 - Linear algebra in numpy.ipynb.
Сам же презентации и ноутбуки обычно дублирую в pdf — это кроссплатформенно, не возникает проблем с шрифтами, ничего не едет. А в случае ноутбука — коллеге не придётся его запускать, чтобы увидеть результаты, ну и с телефона сможет прочесть.