トイデジカメ・Kodak Charmera(チャーメラ)について、Windowsエクスプローラーでの表示や、Googleフォトなどで写真の並びが変になることがある。
理由は、別の記事に書いたけど、EXIFデータの日時情報に関する書式がおかしいため。
具体的には、EXIFデータ内の日付と時刻が半角スペースではなく、コロン「:」で連結されているため。
当初は修正を諦めていたけど、過去記事内でも紹介している ExifTool の使い方を調べているうちに、EXIFデータの更新がなんとか出来そうな感じだったので、今回試してみることにした。
ただ、タイトルを見れば既にネタバレしているけど、結果はダメだった。
【目次】
書式修正を試みてみた
実は、このページに書いている以上のことをあれこれ試したけど、全部書くとキリがないので、今回は絞りに絞った。
そして最終的に公開する内容は、シンプルにDateTimeOriginalの値を任意に変更してみること。
「-DateTimeOriginal=」の右辺に、任意の日時を設定すると、DateTimeOriginalの値が変更できるという寸法。
なお、全てのEXIFデータが変更出来るわけではない。念のため。
他社デジカメで撮影したJPEGファイルの場合
# コマンド実行
$ exiftool -DateTimeOriginal='2025:01:01 01:01:01' other-digicam.jpg
1 image files updated
# 結果確認
$ exiftool -DateTimeOriginal other-digicam.jpg
Date/Time Original : 2025:01:01 01:01:01
問題なく更新(update)できた。
Kodak Charmeraで撮影したJPEGファイルの場合
実行するコマンドの内容は、先に試した他社製デジカメデータと同じ。コマンド引数末尾の、指定するファイル名だけ変えている。
# コマンド実行
$ exiftool -DateTimeOriginal='2025:01:01 01:01:01' kodak-charmera.jpg
Warning: [minor] Entries in ExifIFD were out of sequence. Fixed. - kodak-charmera.jpg
Error: Bad ExifIFD offset for MakerNoteUnknown - kodak-charmera.jpg
0 image files updated
1 files weren't updated due to errors
# 結果確認(撮影日時が上書きされていない)
$ exiftool -DateTimeOriginal kodak-charmera.jpg
Date/Time Original : 2026:02:14:21:22:35
エラー(Error)やら警告(Warning)やらが出て、コマンド実行に失敗する。
なお、公式サイトの情報 には、次の一文がある。
# 原文 Writer Limitations ExifTool will not rewrite a file if it detects a significant problem with the file format. # Google翻訳結果 書き込み機能の制限 ExifTool は、ファイル形式に重大な問題が検出された場合、ファイルを書き換えません。
ファイル形式云々(うんぬん)はともかく、EXIFデータの更新が失敗したのでファイルの書き換えが行われなかった模様。
結論
つまり、ExifToolではKodak CharmeraのEXIFデータの更新ができない、ということになる。
但し例外あり
結論は、ExifToolでKodak CharmeraのEXIFデータを更新できない、ということだったけど、実はEXIFデータを丸々削除することは出来る。
# -all=の右辺をブランク(空白)にするとデータを削除できる
$ exiftool -all= example.jpg
1 image files updated
ただ、削除は出来るけど、DateTImeOriginalなどの情報も一切消えるので、手動で日付を付け直さないといけない。
exiftool '-AllDates=2025:01:01 01:23:45' example.jpg
1 image files updated
なお私が実験した限り、他のタグをコピーすることは出来ず、エラーになった。「-d」オプションによる日時書式の変更も効かない。
exiftool '-AllDates=FileModifyDate' example.jpg Warning: Invalid date/time (use YYYY:mm:dd HH:MM:SS[.ss][+/-HH:MM|Z]) in IFD0:ModifyDate (PrintConvInv) Nothing to do.
そもそもファイルの変更日時は、コンピューターやデジカメ上でファイル作成・変更・コピーした日時なので、写真の撮影日時とは限らない。
こうなると、スクリプトを組みたくなるけど、ExifToolは内部で複数ファイルに対応しているのがアダになってるようで、仮にループ処理の内側で毎回ExifToolを呼び出すと、ロードに時間が掛かりパフォーマンスが低下するらしい。試してないけど。
他にも方法はあれど、当記事ではここで打ち切りとしたい。申し訳ない。
あとがき
ここに書いている以上のことを色々試してるので、実はこの記事を公開するまでに、数日を要している。
最低限の情報だけ書いてみたつもりだけど、それでも3000文字近くになってしまった。
ちなみに私がブログを書く文字数の基準は、1500文字前後なので、今回はざっくり2倍くらい。
まあ実行結果などもテキストベースで書いているので、致し方ないところかも。
途中でページ離脱をせずに読んで頂けたのなら、感謝申し上げたい。あと参考になれば幸いである。