Loading...

JPG削除後にRAWデータを一括削除するプログラム!写真ファイルの分別/管理に便利

2022.6.21 2022.6.29 Inoue 写真撮影・編集

皆さんこんにちは、ニューステラの井上です。
大量の写真を撮影した際のデータ分類に関する連載記事第1弾『JPG削除後にRAWデータを一括削除するプログラム』のご紹介です。

JPEGのみで撮影していれば、写真を確認するビューアー上でDeleteキーを押してドンドン削除していけば問題ないのですが、JPEG + RAWモードで撮影を行っている場合、ビューアー上で削除してもRAWデータが残ってしまいます。全部現像するのであればRAWだけで撮っておくという選択肢もアリですが、RAWでの画像確認はJPEGより微妙に重い(数千枚の単位になると、この微妙な重さが作業効率に響いてくる)ですし、撮って出しJPEGとRAWの両方納品しないといけない案件もあります。

そこでビューアー上でサクサクJPGを確認しながら不要なJPGファイルを削除した後、一括でRAWデータを削除するコードを書いてみました。今回はそちらのプログラムのご紹介です。(Windows環境のコマンドプロンプトにて動作)

※ちなみにAdobeの中の何らかのソフトで分別すればJPEGとRAWを同時に削除してくれる機能もあるかもしれないですが、個人的には動作の鬼軽いビューアーでドンドン分別していきたいので、Adobeの中にそのような機能が含まれたソフトがあるかどうかは検証していません。もしAdobeもしくはAdobe以外のソフトでも、不要な写真データを分類する上でJPGとRAWデータを同時に削除できる動作の軽い便利ツールをご存知の方がいらっしゃいましたら、コメントにてお知らせいただけると幸いです!

プログラムを動作させる前の作業

サンプルとして8枚の写真(JPGとRAWで合計16個のファイル)を用意してみました。この枚数が数百枚、数千枚となると今回のプログラムが活きてきますが、今回はサンプルなので少なめに8枚としています。
16個のファイルが保存されているエクスプローラーの画面

弊社ではWindows端末で写真を確認する際、Honeyviewというビューアーを使っています。
キーボードの『→』を押すと次の写真が表示されるのでそれでドンドン確認していき、不要な写真はDeleteキーで削除する、という手順です。
Honeyviewで写真を表示している画面

今回は、上記手順により末尾5015、5016、5019の3つのJPGデータを削除しました。
3枚のJPGデータが削除された後のエクスプローラーの画面

場合によっては、この状態から手動で5015、5016、5019の3つのRAWデータを削除する方もいらっしゃると思いますが、枚数が増えてくると効率が悪い&ヒューマンエラーの原因となりますので、ここからはプログラムに任せます。

コマンドプロンプトでJPGとRAWのファイル名を一括比較し削除する

まずはコマンドプロンプトを開きます。
開き方がわからない方は左下の検索窓にcmdと入力して『コマンドプロンプト』をクリックしてください。
検索窓に『cmd』と入力した画面

すると下記のようにコマンドプロンプトが開かれます。
コマンドプロンプトの初期画面

コマンドプロンプト上で、写真が保存されているディレクトリまで移動する必要があるためcdというコマンドで当該ディレクトリまで移動したいのですが、Cドライブ以外のドライブに移動したい場合は、まずは『カレントドライブの変更』を行う必要があります。

私が今回サンプル写真を保存しているのはMドライブですので、m:と入力してEnterキーを押し、まずはカレントドライブをCドライブからMドライブに変更します。Dドライブに移動したい場合はd:です。大文字/小文字は同列に扱いますので気にしなくてOKです。
コマンドプロンプトでカレントドライブを変更した後の画面

そしてcdのあとに、移動したいディレクトリまでのパスを入力することで、当該ディレクトリまで移動します。
今回の私のケースですと下記のようになります。

cd M:\写真の振り分けプログラム

ちなみに下記のようにエクスプローラー上でパスの部分をクリックしてCtrl + Cでパスをコピーしてあげると楽です。
エクスプローラーのパス部分をクリックした画面
エクスプローラーのパス部分をコピーする様子

コマンドプロンプト上に先ほどのコマンドを入力またはコピペしてEnter。すると移動が完了します。

cd M:\写真の振り分けプログラム

コマンドプロンプトでディレクトリを移動した画面

ここで下記のコマンドを打ちEnterキーを押すと、5015、5016、5019の3つのRAWデータが削除されます。

for %a in (*.ARW) do if not exist %~na.JPG del %a

※RAWデータの拡張子部分(*.ARW)は各自書き換えてください。Sonyの方は大体.ARWのままでおそらく大丈夫ですが、メーカーや機種によって.CR2や.CR3や.NEFなど色々あります。
コマンドプロンプトでRAWデータの一括削除コマンドを打った画面

消える前↓
3枚のJPGデータが削除された後のエクスプローラーの画面

消えた後↓
3枚のRAWデータが削除された後のエクスプローラーの画面

このコマンドが何をしているかというと、JPGとRAWデータのファイル名を比較していき、独立しているRAWデータがあった場合のみ当該RAWデータを削除しています。

コマンドプロンプトを使ったことがない方にもわかりやすく手順をご紹介したつもりではありますが、ある程度PC操作に慣れている方を想定しているので、雑な部分があったらご了承ください。

ちなみにゴミ箱には入らず完全に抹消されますので、まずは実験ディレクトリ内にて検証を行い、自己責任にてよろしくお願いいたします。

いきなり削除が怖い場合はコードを少し変えて、下記のコマンドを打つことで『新しいディレクトリを作って、独立しているRAWデータはそこに移動する』というように動作させることも可能です。2行ともコピーしてコマンドプロンプトに貼り付けてEnterを押してみてください。

mkdir _Trash
for %a in (*.ARW) do if not exist %~na.JPG move %a _Trash

移動する前↓
3枚のJPGデータが削除された後のエクスプローラーの画面

移動した後↓
『_Trash』というディレクトリが作られて、3枚のRAWデータが消えた画面
『_Trash』というディレクトリを開くと、そこに3枚のRAWデータが保存されている画面

以上、JPGデータを削除した後にRAWデータを一括削除(もしくは移動)する方法に関する解説でした!

■連載
1記事目: 本記事 – JPG削除後にRAWデータを一括削除するプログラム!写真ファイルの分別/管理に便利
2記事目: 大量の写真撮影データの振り分け/削除/管理ワークフロー紹介
3記事目: JPGとRAWデータの整合性チェック!欠如ファイルを特定する方法

弊社竹山のポートレート写真
写真:満面の笑みの弊社竹山


新着記事一覧

コメントを書き込む