Как сделать настоящее время фотографирование временем создания файла на диске?

Задача: у нас есть операционная система Linux (Ubuntu, Mint, ROSA, Arch, Debian, …) и папка с фотографиями, в этой папке много подпапок с фотографями, в подпапках могут быть еще подпапки до неограниченного уровня вложенности. В EXIF-данных большинства фотографий записано время их снятия по данным фотокамеры, однако файловый менеджер думает, что файл был создан в другое время, например, когда вы его откуда-то скопировали. Это неудобно, например, нельзя отсортировать фотографии по дате создания не выходя из файлового менедежра.

Давайте сделаем так, чтобы дата создания файла *.jpg каждой фотографии стала совпадать с датой съемки, записанной в мета-данных EXIF.

Устаналиваем утилиту jhead:
На Debian/Ubuntu/ALT Linux/Mint/Deepin:
sudo apt-get install jhead
На Росе:
sudo urpmi jhead

Делаем скрипт:

Открываем для редактирования файл скрипта, например:
sudo nano /usr/local/bin/jpg-dates
Туда вставляем следующий текст:

#!/bin/bash
dir0="$(pwd)"
random="$(date +%s)"
file_list="/tmp/files_jpg_${random}.list"
find "$dir0" -type f -iname "*.jpg" | tee "$file_list"
while read -r line
do
	jhead -ft "$line"
done < "$file_list"
rm -fv "$file_list"

Нажимаем Ctrl+O, Ctrl+X для сохранения и выхода.

Делаем скрипт исполняемым: sudo chmod +x /usr/local/bin/jpg-dates

Затем просто открываем терминал в папке с фотографиями, даем команду jpg-dates, и все фотографии *.jpg и *.JPG в текущей папке и всех ее подпапках станут созданы в файловой системе тогда, когда были сняты.

Отправить ответ

1 Комментарий на "Как сделать настоящее время фотографирование временем создания файла на диске?"

avatar
  Subscribe  
самые новые самые старые рейтинг
Сообщать по почте
Survolog
Гость

Альтернативный вариант.
exiv2 -t -r'%Y%m%d_%H%M%S-:basename:' *.JPG
И станет можно «отсортировать фотографии по дате создания не выходя из файлового менедежра» даже не выбирая сортировку по дате создания.