Как переименовать несколько фотографий и видео на основе данных EXIF?

Я часто импортирую фотографии и видео (в основном с расширениями JPG и MOV) с цифровых камер и планшетов на свой компьютер, и я бы идеально хотел их отсортировать в соответствии с датами и временем, которые они были приняты, уже присутствующими в их данных EXIF , И, следовательно, мое желание переименовать их все желательно с помощью простого сценария Nautilus, предпочтительно вставляя метки даты и времени перед каждым именем файла.

До сих пор мне удалось собрать только следующий сценарий Nautilus, который я считаю далека от совершенства:

for i in *.*
do
mv -i "$i" "$(exiftool -CreateDate "$i" | awk -F ': ' '{print $2}')_"$i"" 
done

Что мне не нравится в этом методе переименования, это фотографии и видео (например, «2013: 09: 03 20: 55: 09_IMG_0108 .JPG "), которые могут создавать проблемы при переносе этих файлов позже в другие среды (например, Windows).

Эта команда (с использованием exiv2 вместо с цифровых камер и планшетов ) позволяет манипулирование метками даты и времени, но его недостатком является то, что он не работает с файлами видео (например, MOV):

exiv2 -k -r '%Y-%m-%d_%H-%M-%S_:basename:' rename "$i"

exiv2 И было бы волшебным, если бы оно даже удалось конвертировать исходные имена файлов и расширения в нижний регистр!

1
задан 7 October 2013 в 20:52

3 ответа

Мне нужно было переименовать мои фотографии и найти этот вопрос здесь - я только узнал, что exiftool обрабатывает его изначально:

С http://www.sno.phy.queensu.ca/ ~ phil / exiftool / filename.html

exiftool -d %Y-%m-%d_%H-%M-%S%%-c.%%e "-filename<CreateDate" DIR 

Если вы хотите отслеживать исходное имя файла и нижний регистр расширения:

exiftool -d %Y%m%d_%H%M%S%%-c-%%f.%%le "-filename<DateTimeOriginal" [.|DIR]

То же самое работает и со всем имя файла в нижнем регистре:

exiftool -d %Y%m%d_%H%M%S%%-c-%%lf.%%le "-filename<DateTimeOriginal" [.|DIR]
8
ответ дан 24 May 2018 в 17:56
  • 1
    DIR должна быть папкой, в которой выделены фотографии. Если мы уже открыли терминал в папке, где мы хотим выполнить команду, мы должны заменить DIR for. И если вы хотите добавить префикс в имя файла (то есть IMG_), это должно быть вставлено до цепочки дат без какой-либо цитаты. Вот пример: exiftool -d IMG_% Y% m% d_% H% M% S %% - c. %% e "-filename & lt; CreateDate " , – Nothor 15 April 2017 в 11:05

Я бы использовал krename для этого. Он

показывает, что просмотр в реальном времени позволяет отказаться от рекурсивного перехода в каталог, позволяющий нескольким шаблонам переименования позволяет глобусы и регулярные выражения в шаблонах запоминать историю
1
ответ дан 24 May 2018 в 17:56

Я знаю, что вы сказали, что предпочитаете скрипт, однако, если вы открыты для бесплатного Java-приложения, вы можете использовать AmoK Exif Sorter

1
ответ дан 24 May 2018 в 17:56

Другие вопросы по тегам:

Похожие вопросы: