Добавляем дату съемки в данные EXIF.

В статье «Распределяем фото по подпапкам с названиями дат съемки» я рассказал о том, как можно разложить все свои фото по подпапкам в автоматическом режиме. Но существует обратная потребность. Много фото в вашей коллекции могут быть просто сканированы с оригинальных бумажных фото, негативов или слайдов. Хранить это все в одной большой куче бессмысленно. Вы все равно распределите эти фото по папкам. Потом вы захотите записать эти фото куда-нибудь типа Google Фото и вы опять столкнетесь в невозможностью поиска по вашим фотографиям. Так как гугл будет ориентироваться только на дату съемки и свалит все фото в одну кучу. Даты съемки в EXIF не будет.

Мой вариант решения этой проблемы таков. Распределяя фото по подпапкам я в названии папки указываю дату а после пишу краткий набор описаний. Получается приблизительно так:

  • 2009_08_08 Встреча выпускников 10-го Б
  • 2009_08_09 Встреча выпускников 10-го Б

Т.е. первые 10 символов в названии папки — это год_месяц_день съемки, а дальше идет какое-то описание. Во все файлы, содержащиеся в данных папках, я хочу добавить информацию в ЕXIF о дате съемки. Для первой папки это будет 08.08.2009 года, для второй 09.08.2009г.

Для автоматизации этого процесса я использую туже прекрасную утилиту exiftool. О том, как ее скачать и установить, я написал в предыдущей статье, поэтому не буду повторяться. Здесь я лишь приведу текст и ссылку на bat файл, который автоматизирует этот процесс.

Итак, текст bat файла вот такой:

SETLOCAL ENABLEDELAYEDEXPANSION

ECHO OFF

SET AppPath=d:\w\exiftool\exiftool.exe

for /f «tokens=*» %%G in (‘DIR /B /AD’) do CALL :OBR «%%G»

GOTO END

:OBR

    SET fld=%1

    SET datat=%fld:~1,4%:%fld:~6,2%:%fld:~9,2%

    «%AppPath%» -m -quiet «-DateTimeOriginal=%datat% 00:00:00» %1

GOTO :EOF

:END

Готовый bat файл можно скачать тут.

При создании данного bat файла я предполагал что все фото хранятся в папках одного уровня, т.е. в них нет подпапок.

!!! Обратите внимание, что в строке SET AppPath=d:\w\exiftool\exiftool.exe написано exiftool.exe а не exiftool(-k).exe как в оригинальном файле. Просто скопируйте exiftool(-k).exe в тойже папке с именем exiftool.exe. Это нужно для того, чтобы exiftool не выдавал сообщение «Press RETURN» после обработки очередной папки.

Теперь просто помещаем «AddTimeFromFolder.bat» в папку, где находятся ваши папки с фотографиями и запускаем.

После работы в каждой из папок вы увидите примерно вот такую картину:

У каждого файла появился двойник с расширением «…_original». Это резервная копия каждого файла. Используя тот же exiftool можно одной командой удалить эти резервные копии или вернуть оригинальные фото в прежнее состояние. Делается это двумя командами:

exiftool(-k).exe -r -restore_original . – для восстановления оригинальных файлов;

exiftool(-k).exe -r -delete_original . – для удаления оригинальных файлов;

Чтобы было проще я оформил эти две команды в виде двух bat файлов:

restoreoriginal.bat – для восстановления оригинальных файлов;

deleteoriginal.bat – для удаления оригинальных файлов;

Просто скопируйте нужный в папку с подпапками и запустите

Открываем EXIF информацию любого файла и видим результат:

2 комментария

  1. Большинство современных цифровых фотокамер записывает параметры съёмки в файлы изображений. Также при обработке изображений в EXIF может записываться дополнительная информация.

  2. Можно, конечно. Но тут фишка в автоматизации этого процесса!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *