Takeout JSON
JA

Android の写真を年・月ごとのフォルダに整理する方法

Android スマホの DCIM/Camera には、数千枚の写真が 1 つのフォルダーに入っています。日付をなくさず、ギャラリーも崩さずに、スマホの上で年と月のフォルダに整理する方法を説明します。

Android スマホの写真を年と月のフォルダに整理するには、DCIM/Camera/2024/07 のようなフォルダーを作り、写真をそれぞれ撮った月のフォルダーへ移します。数枚ならファイルマネージャーアプリでできます。カメラのフォルダーをまるごと整理するなら、パソコンから adb を使います。adb はスマホの上でファイルを移すので、コピーもせず、日付も変えません。

ギャラリーには影響がある?

並び順には影響しません。ギャラリーは、写真がどこにあっても日付順に並べます。フォルダーが効いてくるのは、次の 3 つの場面です。

  • アルバム。 ほとんどのギャラリーは、DCIM と Pictures の中のフォルダーを 1 つずつアルバムとして表示します。年のフォルダーを作れば、年ごとのアルバムができます。
  • パソコン。 パソコンからスマホを開くと、8,000 ファイルが入った 1 つのフォルダーは開くのが遅く、見るのも大変です。
  • バックアップ。 Google フォトは、選んだフォルダーをバックアップします。DCIM/Camera の中のサブフォルダーも一緒にバックアップされます。

安全に整理できる場所

DCIM か Pictures の中で整理します。Android/data と Download は避けてください。ギャラリーによっては見てくれません。

写真を DCIM/Camera から別のフォルダーへ出すと、そのフォルダーのバックアップもオンにしない限り、Google フォトがバックアップしなくなることがあります。DCIM/Camera の中のサブフォルダーなら、カメラのバックアップがそのまま続きます。

ファイルマネージャーアプリで

1 か月分の写真を選び、「移動」を選んで、フォルダーを作り、確定します。1、2 か月分なら十分です。何年分もの写真なら、パソコンを使いましょう。

パソコンから adb で

USB デバッグをオン にして、次を実行します。

adb shell mkdir -p /sdcard/DCIM/Camera/2024/07
adb shell mv -n /sdcard/DCIM/Camera/IMG_202407*.jpg /sdcard/DCIM/Camera/2024/07/

2 行目は、カメラが付けたファイル名の中の日付を使います。IMG_YYYYMMDD_... という名前の写真ならこれで足ります。Pixel の PXL_... や保存した画像のように名前の形が違う写真は、写真の中の撮影日時を読む必要があります。ライブラリ全体なら、パソコンのスクリプトで写真ごとに 1 行の mv を書き、スマホでまとめて実行します。

スマホの中での mv はファイルの日付を保つので、ギャラリーの並びは何も変わりません。終わったら次を実行します。

adb shell content call --uri content://media/ --method scan_volume --arg external_primary

どの分け方にする?

  • 年 / 月(2024/07):いちばんよく使われます。数字なので、どの言語でも同じ順に並びます。
  • 年 / 場所(2024/Lisbon):旅行の写真に向いています。GPS のない写真は年のフォルダーに残ります。
  • 年-月(2024-07):1 階層だけで、スクロールしやすい形です。

分け方の選び方は 写真を年・月ごとのフォルダに整理する方法 で詳しく説明しています。

アプリでまとめて整理する

「Takeout JSON Metadata Fixer」の「Android スマホ」タブ(Windows 版のみ)には、「スマホ上でフォルダ整理」タブがあります。スマホのフォルダーと分け方(「年/月」「年/場所」「国/都市」など)を選ぶと、アプリがスマホからすべての写真の日付と場所を読み、それぞれがどこへ移るかを見せてから、スマホの上で移動します。

上書きは一切せず、ついでに間違ったファイルの日付を撮影日時に合わせ、空になったフォルダーを消します。「元に戻す」ですべてを元の場所に戻せます。

よくある質問

移動したあと、Google フォトはもう一度アップロードしますか?

しません。Google フォトは、すでにバックアップした写真を、新しいフォルダーにあっても見分けます。

SD カードの写真も整理できますか?

できます。カードは /sdcard/ ではなく /storage/<カードの ID>/ にあります。adb shell ls /storage で ID を確かめられます。

動画はどうなりますか?

同じように移動できます。動画の日付は、動画の中の情報か、名前とファイルの日付から取ります。