Відповіді:
jhead здатний це зробити.
Скажімо, ви знаєте, що зроблено певну картину, 2017-04-19 16:20
але поточна дата відображається як 2007-09-01 00:15
, ви можете налаштувати всі jpg
картинки в папці на потрібний час, виконавши:
jhead -da2017:04:19/16:20-2007:09:01/00:15 *.jpg
Ось витяг із посібника:
DATE / TIME MANIPULATION:
-ft Set file modification time to Exif time
-dsft Set Exif time to file modification time
-n[format-string]
Rename files according to date. Uses exif date if present, file
date otherwise. If the optional format-string is not supplied,
the format is mmdd-hhmmss. If a format-string is given, it is
is passed to the 'strftime' function for formatting
In addition to strftime format codes:
'%f' as part of the string will include the original file name
'%i' will include a sequence number, starting from 1. You can
You can specify '%03i' for example to get leading zeros.
This feature is useful for ordering files from multiple digicams to
sequence of taking. Only renames files whose names are mostly
numerical (as assigned by digicam)
The '.jpg' is automatically added to the end of the name. If the
destination name already exists, a letter or digit is added to
the end of the name to make it unique.
-nf[format-string]
Same as -n, but rename regardless of original name
-a (Windows only) Rename files with same name but different extension
Use together with -n to rename .AVI files from exif in .THM files
for example
-ta<+|->h[:mm[:ss]]
Adjust time by h:mm backwards or forwards. Useful when having
taken pictures with the wrong time set on the camera, such as when
traveling across time zones or DST changes. Dates can be adjusted
by offsetting by 24 hours or more. For large date adjustments,
use the -da option
-da<date>-<date>
Adjust date by large amounts. This is used to fix photos from
cameras where the date got set back to the default camera date
by accident or battery removal.
To deal with different months and years having different numbers of
days, a simple date-month-year offset would result in unexpected
results. Instead, the difference is specified as desired date
minus original date. Date is specified as yyyy:mm:dd or as date
and time in the format yyyy:mm:dd/hh:mm:ss
-ts<time> Set the Exif internal time to <time>. <time> is in the format
yyyy:mm:dd-hh:mm:ss
-ds<date> Set the Exif internal date. <date> is in the format YYYY:MM:DD
or YYYY:MM or YYYY
Ще більш потужним варіантом є ExifTool .
Picasa має цю вбудовану. Інструменти => Налаштування дати та часу ....
exiv2 - це інструмент командного рядка для управління даними exif. Підтримувані формати зображень: JPEG, Canon CRW та Canon THM. PNG доступний лише для читання.
Якщо ви хочете встановити дату файлу на дату exif, ви можете скористатися exiv2 за допомогою наступної опції.
-t Встановіть часову позначку файлу відповідно до часової позначки створення файлу Exif на додаток до перейменування файлу (замінює -k). Ця опція використовується лише при дії "перейменувати".
-T
дозволяє встановити часову
Спробуйте FastStone Image Viewer [ функції , посилання для завантаження 1 , посилання для завантаження 2 ]
Ви можете спробувати цей безкоштовний інструмент: Exifer .
Я використовую наступний сценарій, щоб вказати зображенням декілька послідовних дат. Сподіваюся, це допомагає. Він очікує, що каталог із зображеннями буде оновлений як аргумент i .escript directory_with_images
#!/bin/bash
HOUR=12
MINUTE=0
DATE=2004:06:20
for file in "$1"/*;
do
exiv2 -v -M"set Exif.Image.DateTime $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
exiv2 -v -M"set Exif.Photo.DateTimeDigitized $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
exiv2 -v -M"set Exif.Photo.DateTimeOriginal $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
#sets file timestamp (i.e. filesystem metadata, not image metadata) as well
exiv2 -v -T "$file"
if [ $MINUTE = 59 ]; then
HOUR=$((HOUR + 1))
MINUTE=0
else
MINUTE=$((MINUTE + 1))
fi
# this would rename the file as well
#new_path=`pwd`/new_filename$(printf %02d $HOUR)$(printf %02d $MINUTE).jpg
#cp "$file" "$new_path"
done
Exiftool: повільний в командному рядку. (Це написано на Perl, тому зробіть там власні висновки.)
Exifer створює порожній тег або два у файлах, а не лише у блоці EXIF. Це також видалить деякі теги, написані іншими інструментами. Оскільки я не користувався ним більше року, я не можу конкретно визначити, які саме.
Речі FastStone, imx, занадто повільні, щоб тримати встановлення більше дня чи двох.
Мій голос - за Хр. Пропозиція Вайнцерля: Exiv2.
BZT
Picasa 3 , безкоштовний інструмент управління фотографіями від Google, зробить це, і це приємно і швидко.
У Picasa виберіть меню Вид> Властивості, щоб відобразити область властивостей.
Виберіть папку з фотографіями, і вони з'являться як колекція мініатюр.
Виберіть ескізи, які потрібно оновити. Щоб вирішити, що потрібно оновити як пакет, ви можете або встановити їх на один і той самий новий дату, або ви можете змінити перший, і всі інші будуть зміщені на ту саму суму.
На панелі "Властивості" клацніть правою кнопкою миші поле "Дата камери", а потім виберіть "Налаштувати дату та час ..." у контекстному меню. Відкриється діалогове вікно "Налаштувати дату фотографії", де відображається поточна дата камери для першої фотографії.
Відредагуйте дату та час камери за потребою. Якщо ви просто хочете змінити «am» на pm, або навпаки, просто виберіть частину часу «am» і введіть «a» або «p» у відповідних випадках. Не потрібно набирати всю річ "am" або "pm".
Якщо для оновлення ви вибрали більше одного мініатюру: "Налаштувати всі дати фотографій на однакову суму" або "Встановити всі фотографії на одну і ту ж дату та час". Виберіть те, що підходить. Потім натисніть кнопку ОК.
Дати EXIF усіх вибраних фотографій будуть оновлені.
Також менеджер фотографій Shotwell в Ubuntu (поточний менеджер фотографій за замовчуванням у версії 13.10) має налаштування дати / часу меню для вибраних фотографій. У поєднанні з останнім фільтром імпорту ви можете легко налаштувати імпортовані фотографії з камери з неправильною датою та часом.