カメラの日付が狂っていたときの写真の日付を直す
RICHO GR DIGITAL IV という古いコンデジをずーっと使っているのですが、SDカードからPCに移した画像の日付が1日遅れていました。時間も多少狂っていたのですが大きなずれはありませんでした。その前に撮った写真は約1年前ですが、日付は狂っていませんでした。原因は不明ですが、カメラの時計がこの1年で1日遅れてしまったようです。
このまま保存するのもいやなので、JPG画像の日付を変更することにしました。大まかな流れはこうです。
- ファイルの作成日時を更新日時と同じにする
- EXIF の撮影日を変更する(更新日時が変わる)
- ファイルの作成日時を1日進める
- ファイルの更新日時を作成日時と同じにする
ファイルの作成日時を更新日時と同じにする
SDカードからコピーすると、作成日時はコピーした日時になります。更新日時は撮影した日時になっていますので、作成日時も撮影した日時に変更します。Windows PowerShell でフォルダ内のJPGファイルをすべて変更します。
Get-ChildItem -Filter *.jpg -File | ForEach-Object { $_.CreationTime = $_.LastWriteTime }
EXIF の撮影日を変更する(更新日時が変わる)
EXIFの撮影日はエクスプローラーで一括変更できます。

変更するJPGファイルをすべて選択し、プロパティの「詳細」タブの「撮影日時」を希望の日付に変更します。日付のみ変更され、時刻はそのままです。
撮影日時を変更するとファイルの更新日時も変更されるため、撮影日時がわからなくなってしまいます。そのため、最初に作成日時を撮影日時に変更しました。
ファイルの作成日時を1日進める
ファイルの作成日時は実際の撮影日時の1日前になっていますので、作成日時を1日進めます。また PowerShell で一括変更します。
Get-ChildItem -Filter *.jpg -File | ForEach-Object { $_.CreationTime = $_.CreationTime.AddDays(1) }
ファイルの更新日時を作成日時と同じにする
エクスプローラーや dir で表示される日時は更新日時ですので、更新日時も撮影日時に直しておきましょう。
Get-ChildItem -Filter *.jpg -File | ForEach-Object { $_.LastWriteTime = $_.CreationTime }
以上で修正完了です。
そうそう、カメラの時計を合わせておくのを忘れずに。
