Takeout JSON
JA

スマホからパソコンにコピーした写真の日付が今日になる?Windows 11 で撮影日時を 1 枚ずつ・一括で直す方法

Windows 11 ではプロパティから撮影日時を 1 枚ずつ変更できます。コピーした日付になってしまったフォルダー全体について、何が変わったのか、本当の日付がどこに残っているのか、1 回でまとめて戻す方法を説明します。Mac と Linux にも対応。

スマートフォンをパソコンにつなぎ、カメラロールをフォルダーにコピーした。すると、すべての写真が今日の日付になっている。日付順に並べると、ばらばらの順番になる。何年分もの写真が、どれも今日の午後に撮ったことになっている。

なぜコピーで日付がリセットされるのか

ファイルには、写真とは別にファイル自身の日付があります。作成日時、更新日時、アクセス日時です。これらはファイルシステムに属していて、写真には属していません。ファイルが新しいディスクに書き込まれると、そのディスクは新しい作成日時、つまり「今」を記録します。更新日時が残るかどうかは、コピーのしかたによります。

スマートフォンは事態をさらに悪くします。Android はストレージを MTP(「ファイル転送」モード)で見せますが、MTP は作成日時をまったく運びません。MTP を使った転送の多くは、更新日時もコピーした時刻にしてしまいます。iPhone からの AirDrop は Mac では日付を保ちますが、それ以外では確実ではありません。クラウドからのダウンロード、メールの添付、メッセージアプリは、どれも新しい日付の新しいファイルを作ります。

どれも写真そのものには触れていません。ファイルシステムが写真の外側に付けている包み紙に触れているだけです。

残っている日付

JPEG や HEIC の中には EXIF というメタデータの部分があり、撮影した瞬間にカメラが書き込みます。その項目の名前は DateTimeOriginal です。ファイルをコピーしても、メールで送っても、名前を変えても変わりません。これが本当の撮影日時です。

困るのは、ファイル管理ソフトが既定では EXIF ではなくファイルシステムの日付で並べることです。エクスプローラーは「更新日時」を表示し、Finder は「変更日」か「作成日」を表示します。誰かがわざわざ合わせない限り、どちらも写真を撮った日ではありません。

ですから、直し方は 2 つのうちどちらかです。ソフトに EXIF で並べさせるか、EXIF の日付をファイルの日時にコピーして、どのプログラムでも同じ結果になるようにするかです。3 つの日付の違いは 写真の「撮影日時」と「更新日時」の違い で説明しています。

EXIF の日付が残っているか確かめる

何かを直す前に、本当の日付がまだファイルに入っているか確かめてください。Windows では写真を右クリックして「プロパティ」を開き、「詳細」タブの「撮影日時」を見ます。macOS では「情報を見る」でカメラの情報を見ます。Linux では exiftool -DateTimeOriginal photo.jpg で表示されます。

Windows 11 では、この「詳細」タブの「撮影日時」を 1 枚ずつ書き換えることもできます。数枚ならこれで十分です。フォルダー全体なら、次の方法を使ってください。

EXIF の日付が入っていれば、直すのは簡単で、何も失いません。入っていなければ、写真はメタデータを消す何かを通ってきています。たいていはメッセージアプリか、編集ソフトの「名前を付けて保存」です。取り戻せるものは少なくなります。そのケースは LINE で保存した写真の日付がおかしい理由 で扱っています。

ファイルの日付を手作業で直す

exiftool なら、フォルダー全体の EXIF の日付をファイルシステムの日付に 1 コマンドでコピーできます。

exiftool "-FileModifyDate<DateTimeOriginal" -r .

Windows と macOS では作成日時も設定できます。

exiftool "-FileCreateDate<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" -r .

Linux では、たいていのファイルシステムがユーザーのプログラムから変えられる作成日時を持っていないので、大事なのは更新日時です。

これで、どのファイル管理ソフトでも日付順に並べれば正しい順番になります。費用はかからず、画像データは何も変わりません。

逆のケース、つまりファイルの日付は正しいのに EXIF がないケースは少ないですが、編集した写真や書き出した写真で起こります。exiftool は "-DateTimeOriginal<FileModifyDate" でその方向にもコピーできます。写真そのものに書き込むので、ファイルの日付が正しいと確信できるときだけ使ってください。

次回から避けるには

Android では、Syncthing のような同期アプリを使うか、スマートフォン自身のファイル管理アプリで USB メモリにコピーすると、MTP より更新日時が残りやすいです。iPhone では、Mac の「イメージキャプチャ」や Windows の「フォト」アプリの取り込みが日付を保ちます。どれも完璧ではありません。確実な答えは、ファイルの日付を気にせず EXIF を信じることで、写真アプリはそうしています。

アプリで直す

Takeout JSON Metadata Fixer は、上の exiftool コマンドと同じことを、フォルダーでもエクスポート全体でも行います。最初にドライランで結果を確かめられます。

コピーしたフォルダーをアプリにドロップします。アプリは各写真の EXIF の日付を読み、ファイルの作成日時と更新日時に書き込むので、エクスプローラーでも Finder でも正しく並びます。必要なら、ファイル名を日付から始まる名前に変え、年/月のフォルダーに整理します。日付をまったく見ないプログラムでも、順番が目で分かります。

頼めばフォルダーをその場で整理し直せます。手を付けていない元のファイルは、任意の「Originals (before organizing)」フォルダーに残せます。動画は動画自身の作成日時のメタデータから日付を取ります。日付がまったくない写真はファイルの日付を使うか、フォルダーに 1 つの日付を設定できます。

写真がスマートフォンから直接ではなく Google フォトから来たものなら、アプリは Google が付ける .json サイドカーも読みます。その場合、本当の日付はそこに隠れています。Google Takeout の写真の日付がおかしい理由 を見てください。

Windows、Mac、Linux でオフラインで動き、画面は日本語です。1000 枚まで無料、無制限は 19.99 米ドルの買い切りです。

よくある質問

写真をコピーしたことで何か壊れましたか?

いいえ。画像と EXIF は変わっていません。ファイルの外側のファイルシステムの日付がリセットされただけで、それは EXIF から作り直せます。

スマートフォンのギャラリーでは正しい順番なのに、パソコンでは違うのはなぜですか?

スマートフォンのギャラリーアプリは EXIF か、撮影時刻をまとめた自分のデータベースを読みます。パソコンのファイル管理ソフトはファイルシステムの日付を読みます。同じ写真で、見ている項目が違うのです。

これを Google フォト、iCloud、Immich にアップロードすると、間違った日付になりますか?

たいていはなりません。どれもまず EXIF を読み、EXIF がないときだけファイルの日付を使います。EXIF が残っている写真は、ファイルの日付が間違っていても正しく取り込まれます。EXIF のない写真はコピーした日になります。アップロードの前に、EXIF のない写真を直しておくことが大事なのはこのためです。

タイムゾーンは関係ありますか?

古い写真の EXIF DateTimeOriginal にはタイムゾーンがありません。新しいスマートフォンは OffsetTimeOriginal というタグを追加します。日付をファイルの日時にコピーするとき、ツールはパソコンの現地のタイムゾーンを前提にするので、海外で撮った写真は数時間ずれることがあります。日付自体はほぼ必ず正しいままです。詳しくは 写真の時刻が数時間ずれるのはなぜ? を見てください。