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 .