Я хочу вказати каталог і змусити програмне забезпечення знайти всі фотографії в каталозі та його підкаталогах, і якщо вони містять дату / час EXIF, вона встановлює часову позначку файлової системи, щоб вона відповідала EXIF.
Я хочу вказати каталог і змусити програмне забезпечення знайти всі фотографії в каталозі та його підкаталогах, і якщо вони містять дату / час EXIF, вона встановлює часову позначку файлової системи, щоб вона відповідала EXIF.
Відповіді:
Це зворотне значення Чи є якесь програмне забезпечення, яке встановлюватиме дати EXIF на основі дати модифікації файлу? , і я впевнений, що всі перераховані там програми будуть застосовуватися.
З них, для цього дуже простого завдання, jhead - це моя пропозиція. Наприклад, команда
jhead -ft *.jpg
встановлює купу файлів, щоб часова марка файлу відповідала EXIF.
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 '-DateTimeOriginal>FileModifyDate' directoryname
(Видаліть, -r
якщо ви не хочете рекурсії, і якщо ви це зробите, ви можете також надати список файлів або підстановку замість directoryname
.) І будьте обережні з цитатами - якщо ви запускаєте це в Windows, ви хочете "
замість '
.
З Exiv2 :
exiv2 -T rename *.jpg
Будьте уважні, що 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 показує, як скопіювати в будь-якому напрямку:
Ірфанв'ю
Дозволяє змінити графічний інтерфейс або командний рядок партії або за передачею дати / часу файлу з 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, Введіть) (дає менше варіантів),
але насправді це майже інтуїтивно зрозуміло після невеликого використання - меню орієнтують вас спочатку до формування мозкового шляху.
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 у дату та час файлу. При бажанні можна досягти і протилежного. :
i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)
Щоб скопіювати дату / час у зворотному напрямку ((filepec до EXIF),
використовуйте, як зазначено вище, з (0,0,1,0,0,0,0,0)
голова
буде робити майже все, що ви можете уявити з файлами jpeg
Джерело: Безкоштовно від http://www.sentex.net/~mwandel/jhead/
Я використовую пакетний файл, як показано нижче. Можливі й інші варіанти:
Вони кажуть: Речі jhead можуть змінюватися у exif-файлі jpeg
_________________________
Примітка: серпень 2016 року: "Анонімний користувач" правильно запропонував, що одна запропонована конверсія не працює, як я вже сказав. Я широко додав до відповідної області.
Ще один інструмент EXIF командного рядка, який може змінити останню модифіковану дату файлів відповідно до часу фотографування на основі метаданих EXIF у файлі зображень JPEG:
exiv2 -T rename somedir/foo*.jpg
Не хвилюйтесь, аргумент команди rename
там нормальний і не шкодить.
Просто дія з перейменуванням файлів не використовується, щоб створити лише побічний ефект зміни часової позначки.
Хоча я дійсно не рекомендую покладатися на дату / час файлу, коли мова йде про ваші зображення, ви можете використовувати безкоштовний інструмент під назвою EXIF Date Changer, щоб встановити дати файлу для всіх ваших зображень у форматі JPG. За замовчуванням на фотографії зроблено як дату створення, так і дати зміни файлу, змінені датою.
Причиною, чому я не рекомендую це дата, файл легко оновлюється. Якщо ви редагуєте зображення, змінена дата оновлюється. Якщо ви скопіюєте зображення, воно отримає нову дату.
Набагато кращим рішенням є перейменування файлів, щоб включити дату / час у саме ім'я файлу. Це все ще дозволяє легко сортувати та добре працює із зображеннями, які зберігаються на iPhone / Dropbox.
Перегляньте моє нове безкоштовне програмне забезпечення "Організатор фотографій": http://photodateorganizer.sourceforge.net/
Швидкий перегляд зображень FastStone може це зробити (версія 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, який відповів ...
PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php
Я додаю кнопку на вкладці "Параметри" Стрічки. Звідти ви можете вибрати опцію оновлення статусу файлу за часом.
До речі, щоб уникнути використання маски, я також додаю новий атрибут маски:% F. Якщо ви користуєтеся цією простою маскою, файл перейменовано ... з власним ім'ям ... Отже, ви не зобов'язані перейменовувати файл, для якого ви хочете оновити атрибути часу файлу ...
Це старе питання, і схоже, що є кілька пропозицій, які повинні працювати добре, але той, до якого я прийшов, щоб розібратися з проблемою впорядкування файлів після оновлення телефону на Android, був таким.
Можливо, це комусь стане в нагоді.
Інша безкоштовна програма - Google Picasa - ви можете легко змінити дату та час для всіх фотографій:
Приємна стаття про це: Як змінити дату фотографії в Picasa на, коли фотографію зроблено