# Claude Codeで写真リネーム・整理を自動化する初心者向け手順

> 散らかった写真フォルダをClaude Codeで自動整理する方法を解説。Exifの撮影日時を使った一括リネーム、年月フォルダへの仕分け、スクリプト化まで、実践プロンプトとつまずき対処つきで紹介します。

- 出典: https://rakuwaza.com/articles/ai-waza-017/
- サイト: ラクワザ（https://rakuwaza.com）
- 運営者: ありあけ
- カテゴリ: AIワザ
- 公開日: 2026-07-22
- 最終更新: 2026-07-23
- タグ: Claude Code, AI活用, 写真整理, 時短ワザ

---
スマホやデジカメの写真フォルダが「IMG_2034.JPG」のような名前のまま数千枚たまり、探したい1枚がいつまでも見つからない。写真整理はやろうと思うたびに後回しにしてしまう作業の代表格ではないでしょうか。AIコーディングツールのClaude Codeを使うと、「日本語で頼むだけ」で解決に近づきます。

<div class="point-box">
<p class="point-box-title">この記事でわかること</p>
<ul>
<li>Exifの撮影日時を使った一括リネームの手順</li>
<li>年月フォルダへの自動仕分けと例外の指定方法</li>
<li>毎月使えるスクリプトとして保存する方法</li>
</ul>
</div>

プログラミング未経験の方でも今日から真似できる粒度で、写真ファイルのリネームとフォルダ整理を自動化する手順を紹介します。

## Claude Codeで写真整理を自動化できる理由

Claude Codeは、Anthropicが提供するターミナル(いわゆる黒い画面)で動くAIアシスタントです。ChatGPTのようなブラウザ型のチャットAIと違い、あなたのパソコンの中のファイルを直接読み書きできるのが最大の特徴です。「このフォルダの写真を撮影日順にリネームして」と日本語で頼むと、AIが必要なコマンドやスクリプトを自分で組み立てて実行してくれます。

写真に埋め込まれたExif情報(撮影日時・カメラ機種など)を読み取って意味のあるファイル名に変換でき、数千枚あっても手間はほぼ変わらず、一度作った手順をスクリプトとして保存すれば次回からは1コマンドで再実行できる。従来の一括リネームソフトとの違いは「あいまいな条件を日本語のまま伝えられる」ことです。「スクショだけ別フォルダに」「レシートっぽい写真は除外」といった、設定画面では表現しにくい注文も会話で詰められます。

## 準備:インストールから最初の起動まで

1. 公式サイトの案内に従ってClaude Codeをインストールします。Macならターミナル、WindowsならPowerShellを開き、案内されているインストールコマンドを実行します
2. 「claude」と入力して起動し、初回はAnthropicアカウントでログインします(有料プランまたはAPI利用が前提です)
3. 整理したい写真フォルダに移動してから起動するのがコツです。Macなら次のように入力します

```bash
cd ~/Pictures/整理したい写真
claude
```

4. 起動すると入力欄が表示されるので、あとは日本語で指示するだけです

ここで大切な注意点をひとつ。作業前に必ず写真フォルダのバックアップを取ってください。リネームや移動は元に戻しにくい操作です。外付けドライブや別フォルダに丸ごとコピーしてから始めれば、万一の失敗も怖くありません。

## 実践1:撮影日ベースの一括リネーム

最初の指示は、いきなり実行させず「計画だけ出させる」のが安全です。次のプロンプトをそのまま貼り付けて使えます。

```text
このフォルダにある写真(jpg/png/heic)を、Exifの撮影日時をもとに
「2026-07-21_143205_001.jpg」のような
「日付_時刻_連番.拡張子」形式にリネームしたいです。
まずは実際にリネームせず、変更前→変更後の対応表を
先頭20件だけ表示して確認させてください。
```

対応表を見て問題なければ「OKです。全件実行してください」と返すだけで一括リネームが走ります。同じ秒に撮った連写写真があっても、末尾の連番で名前が衝突しないよう処理してくれる。ファイル名の先頭に日付が入ると、どのソフトで開いても自動的に時系列へ並ぶのが地味に効きます。クラウドに上げても、人に渡しても順番が崩れません。

<figure class="figure-card">
<svg viewBox="0 0 640 300" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="写真整理の3段階(リネーム・仕分け・スクリプト化)">
<rect x="0" y="0" width="640" height="300" fill="#F7F8FA"/>
<rect x="30" y="30" width="170" height="80" rx="10" fill="#1C2B4A"/>
<text x="115" y="65" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="17">実践1</text>
<text x="115" y="90" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="15">Exifで一括リネーム</text>
<path d="M200 70 L238 70" stroke="#2563EB" stroke-width="3" marker-end="url(#arrow17)"/>
<rect x="240" y="30" width="170" height="80" rx="10" fill="#2563EB"/>
<text x="325" y="65" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="17">実践2</text>
<text x="325" y="90" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="15">年/月フォルダへ仕分け</text>
<path d="M410 70 L448 70" stroke="#2563EB" stroke-width="3" marker-end="url(#arrow17)"/>
<rect x="450" y="30" width="160" height="80" rx="10" fill="#10B981"/>
<text x="530" y="65" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="17">実践3</text>
<text x="530" y="90" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="15">スクリプト化</text>
<rect x="140" y="160" width="360" height="90" rx="10" fill="#1C2B4A"/>
<text x="320" y="195" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="16">organize_photos.sh</text>
<text x="320" y="222" text-anchor="middle" fill="#ffffff" font-family="Hiragino Kaku Gothic ProN, sans-serif" font-size="14">次回から1コマンドで再実行</text>
<path d="M115 110 L280 158" stroke="#2563EB" stroke-width="2"/>
<path d="M325 110 L320 158" stroke="#2563EB" stroke-width="2"/>
<path d="M530 110 L370 158" stroke="#2563EB" stroke-width="2" marker-end="url(#arrow17)"/>
<defs>
<marker id="arrow17" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 z" fill="#2563EB"/></marker>
</defs>
</svg>
<figcaption>図: 一括リネーム→年月仕分け→スクリプト化の3ステップ</figcaption>
</figure>

## 実践2:年別・月別フォルダへの自動仕分け

リネームができたら、次はフォルダ分けです。

```text
リネーム済みの写真を「2026/07/」のように年/月の
フォルダを作って移動してください。
スクリーンショット(ファイル名にscreenshotを含む、
またはExifに撮影機種がないPNG)は「screenshots」フォルダに
分けてください。移動前に件数の内訳を見せてください。
```

「例外の扱い」まで日本語で指定できるのがAIならではの強みです。ほかにも「動画(mov/mp4)は videos フォルダへ別に分けて」「同じ内容の重複写真を検出して、削除はせずリストだけ作って」「1年以上前の写真だけ『アーカイブ』フォルダへ移動して」といった注文が実用的です。重複写真の処理は、削除まで任せずまずリスト化だけさせて自分の目で確認するのがおすすめです。AIの判定が完璧とは限らないため、消す操作だけは人間が最終判断する運用にすると安心です。スクショだけを対象にした整理は[スクショ・画像を自動整理する手順](/articles/ai-waza-015/)のほうが手順が細かいので、写真とスクショで整理を分けたい人はあわせて読んでみてください。

## 実践3:毎月使えるようにスクリプト化する

同じ整理を毎月繰り返すなら、手順そのものを保存してもらいましょう。

```text
今回の一連の処理(Exifリネーム→年/月フォルダ仕分け)を、
フォルダを指定して再実行できるシェルスクリプト
organize_photos.sh として保存してください。
実行前に対象件数を表示して確認を求める安全設計にしてください。
```

次回からは「organize_photos.sh を新しい取り込みフォルダに実行して」と頼むだけ。スマホから写真を取り込むたびに発生していた整理作業が、数分で終わる定型作業に変わります。

Claude Codeが使えない環境でも、ChatGPTなどのチャットAIに「Exifの撮影日時で写真をリネームするスクリプトを書いて。実行前に対応表を表示する安全設計で」と頼めば同様のスクリプトは作れます。ただし実行やエラー対応は自分でターミナルを操作する必要があるため、ファイル操作まで一気通貫で任せられるClaude Codeのほうが初心者にはつまずきが少ない印象です。

## つまずきポイント:HEIC写真の日時が読めないとき

よくあるつまずきが、iPhoneの写真(HEIC形式)で「Exifの撮影日時が取得できない」と言われるケースです。環境によって読み取り用ツールが足りないことが原因で起きますが、慌てる必要はありません。そのままこう伝えてください。

```text
HEICのExifが読めないようです。exiftoolなど必要なツールの
インストール方法から案内してください。それでも日時が取れない
ファイルは、ファイルの更新日時を代わりに使ってリネームし、
対象の一覧を最後に報告してください。
```

エラーが出たときは、エラー文の全文をそのまま貼り付けて相談するのが鉄則です。原因の切り分けから代替案まで提示してくれるので、自分で検索して回るより早く解決できることが多いはずです。

## まとめ

Claude Codeを使えば、写真整理は「日本語で頼む→対応表で確認→実行」の3ステップで自動化できます。作業前にバックアップ、実行前にプレビュー確認の二段構えで安全に進めること。Exifの撮影日時を使った「日付_時刻_連番」リネームで、どこでも時系列に並ぶこと。スクショ分離や重複検出など、あいまいな条件の仕分けも日本語で相談でき、繰り返す作業はスクリプト化して次回から1コマンドに短縮できること。数千枚たまった写真フォルダも、最初の30分の仕組みづくりで「散らからないフォルダ」に変わります。まずはバックアップを取って、先頭20件の対応表プレビューから試してみてください。
