Существует ли бесплатная программа (пакетная) для изменения даты файла фотографии в соответствии с EXIF?
40
Я хочу указать каталог и заставить программное обеспечение находить все фотографии в каталоге и его подкаталогах, и если они содержат дату / время EXIF, оно устанавливает метку времени их файловой системы в соответствии с EXIF.
Из них, для этой очень простой задачи, Jhead - мое предложение. Например, команда
jhead -ft *.jpg
устанавливает кучу файлов так, чтобы временная метка файла соответствовала EXIF.
Jhead с find, для прохождения подкаталогов
Чтобы выполнить рекурсию в подкаталоги, вы можете объединить ее с findкомандой, доступной в Linux / Unix / Mac (или Cygwin для Windows):
find -name '*.jpg' -exec jhead -ft {} +
Или найти кого-то из *.JPG *.JPEG *.jpg *.jpeg ...вас также можно попробовать
find -iname '*.jp*g' -exec jhead -ft {} +
Вы также можете использовать find, чтобы просто показать все файлы, которые будут ... найдены, без выполнения какой-либо другой команды (например, jhead):
find -iname '*.jp*g'
Другие инструменты
Другие утилиты, такие как ExifTool или Exiv2, гораздо более эффективны, но ценой сложности. Я никогда не могу вспомнить, какие правильные варианты сделать что-то с ними, и мне приходится каждый раз просматривать документацию, но jhead -ftэто легко запомнить с помощью мнемонического «исправления времени».
ExifTool
Просто для полноты картины , хотя, я сделал вид в документации, и с ExifTool , сделайте следующее:
(Удалите, -rесли вы не хотите рекурсию, и если вы это сделаете, вы также можете указать список файлов или шаблон вместо directoryname.) И будьте осторожны с этими кавычками - если вы используете это в Windows, вы хотите "вместо '.
Помните, что в нижнем регистре -t(или без -Tтакового) Exiv2 также переименует файл на новое имя, основанное на отметке времени, что может привести к путанице. Exiv2 также не делает рекурсию.
jhead очень полезен для этого - И для многих других манипуляций с файлами jpg. Будьте осторожны при использовании - это чрезвычайно мощный инструмент, который может нанести определенный ущерб, если его неправильно использовать. Я рекомендую использовать его в командном файле, чтобы вы всегда делали то, что намеревались, и сначала тестировали результат на тестовом наборе файлов.
Рассел МакМэхон
+1, но я наградил себя ответом ;-) Просто так, чтобы другие в будущем могли найти способ сделать именно то, что я просил ...
Mawg
@olibre Да, это будет работать на Linux / Unix или Mac.
Mattdm
Я заметил, что некоторые браузеры картинок представляют (диапораму) картинки только по порядку имен файлов (но не по времени изменения файла). Наконец, я использую метку времени EXIF, чтобы установить время файла И для префикса имени файла. Я использую команду find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Пояснения: -name '[0-9][0-9]*'чтобы снова не переименовывать файлы, уже имеющие префикс даты ('[0-9][0-9] с учетом лет и месяцев). -iname '*.jp*g'может быть пропущен, поскольку jheadобрабатываются только поддерживаемые файлы (только файлы JPEG). %fсохранить оригинальное имя файла.
olibre
12
Irfanview и Jhead будут делать то, что вы хотите.
Оба бесплатные.
Ссылки на оба ниже.
jhead управляется командной строкой или может вызываться другими процессами.
Версия Irfanview может быть вызвана из командной строки или внутри пакета или из файла в файл.
Пример ниже для Irfanview показывает, как копировать в любом направлении:
Irfanview
Позволяет изменять в графическом интерфейсе или командной строке пакетную или файловую передачу даты / времени из EXIF в спецификацию файла или наоборот (без других изменений файла, если это необходимо).
Источник: бесплатно с www.irfanview.com
Это НАМНОГО проще и быстрее на практике после нескольких использований, чем приведенные ниже инструкции. Например,
для преобразования даты / времени отдельного файла в значения EXIF требуются
Shift-J, Alt-F, Enter.
Видя, почему первый раз занимает больше времени.
Чтобы сделать это для пакета файлов SOUNDS, сложных для изучения -
требуется: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(или: T, Ctrl-A, Shift-J, Enter) (дает меньше вариантов)
НО на самом деле это почти полностью интуитивно понятно после небольшого использования - меню ведет вас изначально, пока не сформируется мозговой путь.
GUI, для файла
Options, JPG lossless rotation (Shift-J)
Select "Apply original EXIF date/time to new file"
Consider also selecting other options
GUI, один или несколько файлов (через вид миниатюр)
Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of
usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
(1) Change EXIF date/time
"Change EXIF date/time"
Options are offered to set Date/time to specific setting
or to move all times back/forwards by selected DHMS amount
calculator provided to check result is as desired.
(2) Transfer EXIF date / time to file saved date time
"Lossless rotation with selected files" [Shift-J]
then, as for single file version above
Select "Apply original EXIF date/time to new file"
Из командной строки - это «поворот» без действия, за исключением копирования даты / времени из EXIF в файл даты и времени. Противоположность также может быть достигнута при желании. :
Я использую командный файл, как показано ниже. Возможны и другие варианты:
jhead -ft % 1 .jpg
Они говорят: вещи, которые jhead может изменить в файле exif jpeg
Изображения вверх-вправо в соответствии с тегом поворота с помощью jpegtran
Установить или отрегулировать внутренние временные метки exif.
Исправить смещения даты / времени в больших пакетах изображений. Переименовать или пометить файлы даты в соответствии с временной меткой
exif. Передать заголовки exif между изображениями.
Заменить миниатюры внутри заголовков Exif.
Редактировать jpeg. комментарии (но не комментарии Exif)
Удаление разделов exif или комментариев из изображений JPEG
Создайте новый минимальный заголовок exif, содержащий дату и миниатюру
_________________________
Примечание: август 2016: «Анонимный пользователь» правильно предположил, что одно из предложенных преобразований не работает, как я сказал. Я экстенсивно добавил к соответствующей области.
Август 2016: «Анонимный пользователь» правильно предположил, что одно из предложенных преобразований не работает, как я сказал. Я экстенсивно добавил к соответствующей области.
Рассел МакМэхон
Как насчет сырых файлов?
Майкл С
@MichaelClark Я рад, что вы задали этот вопрос :-). Я отмечаю, что мы все, кажется, обращались к файлам JPG, а не к RAW. Я полагаю, что вы будете одним из наиболее вероятных людей, которые спросят вас, как это сделать с файлами RAW :-).
Рассел МакМахон
4
Просто еще один инструмент командной строки EXIF, который может изменить дату последнего изменения файлов в соответствии со временем съемки, основываясь на метаде EXIF в файле изображения JPEG:
exiv2 -T rename somedir/foo*.jpg
Не беспокойтесь, аргумент команды renameв порядке и не причиняет вреда.
Просто действие переименования файла используется не по назначению, чтобы создать только побочный эффект изменения метки времени.
Хотя я действительно не рекомендую полагаться на дату / время файла, когда дело доходит до ваших изображений, вы можете использовать бесплатный инструмент под названием EXIF Date Changer для пакетной установки даты файлов всех ваших изображений JPG. Установка по умолчанию установит дату создания и дату изменения файла для сделанной фотографии.
Причина, по которой я не рекомендую это, заключается в том, что дата файла легко обновляется. Если вы редактируете изображение, измененная дата обновляется. Если вы скопируете изображение, оно получит новую дату.
Гораздо лучшим решением является переименование файлов, чтобы включить дату / время в самом имени файла. Это по-прежнему позволяет легко сортировать и хорошо работает с изображениями, хранящимися на iPhone / Dropbox.
Со страницы SourceForge: «Принесено вам: killdaclick». Реклама ваших собственных продуктов здесь не запрещена, но вы должны четко указать свою принадлежность.
Филипп Кендалл
@PhilipKendall готово :)
killdaclick
2
FastStone Image Viewer может сделать это (используется версия 4.9) - просто выберите файлы на панели миниатюр, щелкните их правой кнопкой мыши, выберите «Инструменты»> «Изменить метку времени» - тогда вы можете либо использовать данные EXIF (с изменениями или без них), либо использовать все пользовательская фиксированная ручная дата / время.
Вот Это Да! Я сделал, не знаю, что. Я использую их инструмент захвата экрана в течение многих лет и не нашел ничего лучшего. Вы не можете получить последнюю бесплатную версию здесь ; Мне не нужны какие-либо функции для оплаты. Я также использовал их зрителя в прошлом, но не знал, что это может сделать это.
Мауг
1
Advance Renamer - лучшая простая в использовании программа, которая очень проста.
Перетащите все фотографии в AR (Advance Renamer)
Нажмите (вверху слева) Добавить метод -> Новое имя
Нажмите на одно из нижнего среднего изображения, вы увидите кнопку ExifTool, которая показывает все метаданные, просто нажмите на атрибут, и вы получите тег. В этом случае это<ExifTool:DateTimeOriginal>
Скопируйте это и вставьте в текстовое поле Новое имя. Вы можете добавить что-либо до или после, как IMG_<ExifTool:DateTimeOriginal>и DSC_<ExifTool:DateTimeOriginal>т. Д.
Нажмите кнопку « Запустить пакет» ( вверху справа). Это позволит переименовать все ваши файлы с указанием даты, например, 2017_12_01 19_10_12
. Всегда полезно иметь оригинальную дату в имени файла, поскольку атрибуты могут быть потеряны, а имена файлов - нет.
Снова перетащите все переименованные файлы в AR
Нажмите Новый метод -> Отметка времени
Установите все 3 флажка «Создать, изменить, получить доступ» (доступ к ним иногда может не работать, просто снимите флажок, если это произойдет)
Выберите FileName Pattern
и вставьте<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
Я добавляю кнопку на вкладке «Параметры» ленты. Оттуда вы можете выбрать опцию для обновления статуса файла времени файла.
Кстати, чтобы избежать использования маски, я также добавляю новый атрибут маски:% F. Если вы используете эту простую маску, файл переименовывается ... со своим собственным именем ... Таким образом, вы не обязаны переименовывать файл, для которого вы хотите обновить атрибуты времени файла ...
Это старый вопрос, и похоже, что есть несколько предложений, которые должны хорошо работать, но я пришел к тому, чтобы решить проблему с порядком файлов после обновления телефона Android.
Crank открыть Windows (впервые в возрасте)
Установите ExtFS или что-то, что может читать разделы ext4
Копировать фотографии на жесткий диск с Micro SD
Используйте Attribute Changer ( https://www.petges.lu/home/ ), чтобы установить даты создания / изменения в дату EXIF
Взломать карту обратно в телефон
Скопируйте фотографии обратно на телефон через MTP
Ответы:
Это обратная сторона: существует ли какое-либо программное обеспечение, которое будет устанавливать даты EXIF на основе даты изменения файла? , и я уверен, что все перечисленные там программы будут применяться.
jhead
Из них, для этой очень простой задачи, Jhead - мое предложение. Например, команда
устанавливает кучу файлов так, чтобы временная метка файла соответствовала EXIF.
Jhead с
find
, для прохождения подкаталоговЧтобы выполнить рекурсию в подкаталоги, вы можете объединить ее с
find
командой, доступной в Linux / Unix / Mac (или Cygwin для Windows):Или найти кого-то из
*.JPG *.JPEG *.jpg *.jpeg ...
вас также можно попробоватьВы также можете использовать find, чтобы просто показать все файлы, которые будут ... найдены, без выполнения какой-либо другой команды (например, jhead):
Другие инструменты
Другие утилиты, такие как ExifTool или Exiv2, гораздо более эффективны, но ценой сложности. Я никогда не могу вспомнить, какие правильные варианты сделать что-то с ними, и мне приходится каждый раз просматривать документацию, но
jhead -ft
это легко запомнить с помощью мнемонического «исправления времени».ExifTool
Просто для полноты картины , хотя, я сделал вид в документации, и с ExifTool , сделайте следующее:
(Удалите,
-r
если вы не хотите рекурсию, и если вы это сделаете, вы также можете указать список файлов или шаблон вместоdirectoryname
.) И будьте осторожны с этими кавычками - если вы используете это в Windows, вы хотите"
вместо'
.Exiv2
С Exiv2 :
Помните, что в нижнем регистре
-t
(или без-T
такового) Exiv2 также переименует файл на новое имя, основанное на отметке времени, что может привести к путанице. Exiv2 также не делает рекурсию.источник
find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +
. Пояснения:-name '[0-9][0-9]*'
чтобы снова не переименовывать файлы, уже имеющие префикс даты ('[0-9][0-9]
с учетом лет и месяцев).-iname '*.jp*g'
может быть пропущен, посколькуjhead
обрабатываются только поддерживаемые файлы (только файлы JPEG).%f
сохранить оригинальное имя файла.Irfanview и Jhead будут делать то, что вы хотите.
Оба бесплатные.
Ссылки на оба ниже.
jhead управляется командной строкой или может вызываться другими процессами.
Версия Irfanview может быть вызвана из командной строки или внутри пакета или из файла в файл.
Пример ниже для Irfanview показывает, как копировать в любом направлении:
Irfanview
Позволяет изменять в графическом интерфейсе или командной строке пакетную или файловую передачу даты / времени из EXIF в спецификацию файла или наоборот (без других изменений файла, если это необходимо).
Источник: бесплатно с www.irfanview.com
Это НАМНОГО проще и быстрее на практике после нескольких использований, чем приведенные ниже инструкции. Например,
для преобразования даты / времени отдельного файла в значения EXIF требуются
Shift-J, Alt-F, Enter.
Видя, почему первый раз занимает больше времени.
Чтобы сделать это для пакета файлов SOUNDS, сложных для изучения -
требуется: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(или: T, Ctrl-A, Shift-J, Enter) (дает меньше вариантов)
НО на самом деле это почти полностью интуитивно понятно после небольшого использования - меню ведет вас изначально, пока не сформируется мозговой путь.
GUI, для файла
GUI, один или несколько файлов (через вид миниатюр)
Из командной строки - это «поворот» без действия, за исключением копирования даты / времени из EXIF в файл даты и времени. Противоположность также может быть достигнута при желании. :
i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)
Копировать дату / время в обратном направлении ((спецификация файла в EXIF)
используйте как указано выше с (0,0,1,0,0,0,0,0)
jhead
будет делать все, что вы можете себе представить с файлами JPEG
Источник: свободный от http://www.sentex.net/~mwandel/jhead/
Я использую командный файл, как показано ниже. Возможны и другие варианты:
Они говорят: вещи, которые jhead может изменить в файле exif jpeg
Установить или отрегулировать внутренние временные метки exif.
Исправить смещения даты / времени в больших пакетах изображений. Переименовать или пометить
файлы даты в соответствии с временной меткой
exif. Передать заголовки exif между изображениями.
Заменить миниатюры внутри заголовков Exif.
Редактировать jpeg. комментарии (но не комментарии Exif)
Удаление разделов exif или комментариев из изображений JPEG
Создайте новый минимальный заголовок exif, содержащий дату и миниатюру
_________________________
Примечание: август 2016: «Анонимный пользователь» правильно предположил, что одно из предложенных преобразований не работает, как я сказал. Я экстенсивно добавил к соответствующей области.
источник
Просто еще один инструмент командной строки EXIF, который может изменить дату последнего изменения файлов в соответствии со временем съемки, основываясь на метаде EXIF в файле изображения JPEG:
Не беспокойтесь, аргумент команды
rename
в порядке и не причиняет вреда.Просто действие переименования файла используется не по назначению, чтобы создать только побочный эффект изменения метки времени.
источник
Хотя я действительно не рекомендую полагаться на дату / время файла, когда дело доходит до ваших изображений, вы можете использовать бесплатный инструмент под названием EXIF Date Changer для пакетной установки даты файлов всех ваших изображений JPG. Установка по умолчанию установит дату создания и дату изменения файла для сделанной фотографии.
Причина, по которой я не рекомендую это, заключается в том, что дата файла легко обновляется. Если вы редактируете изображение, измененная дата обновляется. Если вы скопируете изображение, оно получит новую дату.
Гораздо лучшим решением является переименование файлов, чтобы включить дату / время в самом имени файла. Это по-прежнему позволяет легко сортировать и хорошо работает с изображениями, хранящимися на iPhone / Dropbox.
источник
Проверьте мое новое бесплатное программное обеспечение "Photo Date Organizer": http://photodateorganizer.sourceforge.net/
источник
FastStone Image Viewer может сделать это (используется версия 4.9) - просто выберите файлы на панели миниатюр, щелкните их правой кнопкой мыши, выберите «Инструменты»> «Изменить метку времени» - тогда вы можете либо использовать данные EXIF (с изменениями или без них), либо использовать все пользовательская фиксированная ручная дата / время.
источник
Advance Renamer - лучшая простая в использовании программа, которая очень проста.
Перетащите все фотографии в AR (Advance Renamer)
Нажмите (вверху слева) Добавить метод -> Новое имя
Нажмите на одно из нижнего среднего изображения, вы увидите кнопку ExifTool, которая показывает все метаданные, просто нажмите на атрибут, и вы получите тег. В этом случае это
<ExifTool:DateTimeOriginal>
Скопируйте это и вставьте в текстовое поле Новое имя. Вы можете добавить что-либо до или после, как
IMG_<ExifTool:DateTimeOriginal>
иDSC_<ExifTool:DateTimeOriginal>
т. Д.Нажмите кнопку « Запустить пакет» ( вверху справа). Это позволит переименовать все ваши файлы с указанием даты, например, 2017_12_01 19_10_12 . Всегда полезно иметь оригинальную дату в имени файла, поскольку атрибуты могут быть потеряны, а имена файлов - нет.
<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
источник
Я предложил это автору PhotoRenamer, который ответил ...
источник
Это старый вопрос, и похоже, что есть несколько предложений, которые должны хорошо работать, но я пришел к тому, чтобы решить проблему с порядком файлов после обновления телефона Android.
Может быть, это будет кому-то полезно.
источник
Другая бесплатная программа - Google Picasa - вы можете легко изменить дату и время для всех фотографий:
Хорошая статья об этом: Как изменить дату фотографии в Picasa на «Когда была сделана фотография»
источник