В статье «Распределяем фото по подпапкам с названиями дат съемки» я рассказал о том, как можно разложить все свои фото по подпапкам в автоматическом режиме. Но существует обратная потребность. Много фото в вашей коллекции могут быть просто сканированы с оригинальных бумажных фото, негативов или слайдов. Хранить это все в одной большой куче бессмысленно. Вы все равно распределите эти фото по папкам. Потом вы захотите записать эти фото куда-нибудь типа 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 информацию любого файла и видим результат:
Большинство современных цифровых фотокамер записывает параметры съёмки в файлы изображений. Также при обработке изображений в EXIF может записываться дополнительная информация.
Можно, конечно. Но тут фишка в автоматизации этого процесса!