Live PhotosをWindowsに取り込んだときにJPGを残してMOVだけ取り除く方法
iPhoneやiPadのカメラで、写真の前後の動画も撮れるLive Photos
カメラの右上が「オン」になってると撮れるやつです
このLive Photosを含む写真をWindows PCに取り込むと
JPG (写真) と、MOV (Live Photosの動画部分) が同じファイル名で保存されます。
このうち、Live PhotosのMOVだけを取り除き、別フォルダへ移動する方法をご紹介します。
設定 > フォーマットの「高効率」が選択されている場合は、JPGではなく
HEICとMOVが並んでいるかもしれません。
この場合でも大丈夫です。
※もしデータの紛失などが起こっても責任は取れません。バックアップを取った上で実行してください。
目次
結論のコマンド
結論から言うと、コマンドプロンプトの該当ディレクトリで以下のコマンドを打ちます。
for %i in (*.JPG) do move "%~ni.MOV" "C:\Users\(ユーザー名)\Downloads\2023-12-03_MOV\%~ni.MOV"
- C:\Users\(ユーザー名)\Downloads\2023-12-03_MOV\は、MOVの移動先に変更してください。
- HEICの場合は「*.JPG」を「*.HEIC」に変更してください。
- JPGとHEICが混ざってる場合は「JPG」と「HEIC」の両方実行しても大丈夫です。
詳しく説明していきます。
手順
① 準備
例として、iPhoneから取り込んだデータを「Downloads > 2023-12-03」に保存します。
そしたらDownloadsに「2023-12-03_MOV」というフォルダを新規作成します。 (名前は何でも構いません)
取り除いたMOVデータが、このフォルダに移動します。
② コマンドプロンプトを実行
iPhoneのデータを取り込んだフォルダ「Downloads > 2023-12-03」を開き
アドレスバーに「cmd」と打ち「Enter」を押します。
するとコマンドプロンプトが立ち上がりC:\Users\(ユーザー名)\Downloads\2023-12-03>と表示されているはずです。
ここに表示されてるのがあなたのユーザー名です。 次で使います。
④ コマンドを実行
以下のコマンドを実行します。
for %i in (*.JPG) do move "%~ni.MOV" "C:\Users\(ユーザー名)\Downloads\2023-12-03_MOV\%~ni.MOV"
- 「2023-12-03_MOV」は先ほど作成したフォルダ名に合わせてください。
- 「(ユーザー名)」もPCのユーザー名に合わせてください。
- HEICの場合は「*.JPG」を「*.HEIC」に変更してください。
- JPGとHEICが混ざってる場合は「JPG」と「HEIC」の両方実行しても大丈夫です。
このように打って「Enter」を押します。
スタタタッと進み、完了するとこうなります。
JPGとHEICが混ざっている場合は「④ コマンドを実行」を、HEICに変更して再度実行します。
⑤ 確認
フォルダを確認してみると(同一ファイル名).JPGと(同一ファイル名).MOVの両方がある場合のみ、MOVが取り除かれていることが確認できます。
念のため、取り除かれたMOVデータを詳細表示に切り替え、サイズ順に並べてみて極端に大きいファイルなど無いか確認することをおすすめします。
Live Photos程度の長さであれば、大体7MB以内くらいに収まるようです。
色々試していたところ イレギュラー もあったのでご確認ください。
注意事項
色々試していたところ、5000件以上のデータのうち、1件だけイレギュラーが。
同じIMG_4229.JPGとIMG_4229.MOVなのに違うデータということがありました。
MOVデータも、長さ30秒で容量は40MB程度と、明らかにLive Photosではなく、動画として撮られたものです。
取り除いたMOVデータはサイズだけでもざっくり確認し、明らかに大きいファイルが無いか?だけでも確認したほうがいいと思われます。
コマンドの説明
まずそもそも、どのような条件でMOVを取り除けばいいのか?
例えば、このようなファイル構成の場合
- IMG_0001.JPG
- IMG_0001.MOV
- IMG_0002.JPG
- IMG_0003.JPG
- IMG_0003.MOV
- IMG_0004.MOV
- IMG_0005.JPG
- IMG_0005.MOV
1、3、5は JPGとMOV の両方が存在するので、MOVを取り除けば良い となります。
2はJPGしか存在しないので、Live Photosではない となります。
4はMOVしか存在しないので、動画として撮られたものであり、取り除く対象外 となります。
つまり (同一ファイル名).JPG と (同一ファイル名).MOV の両方が存在する場合、MOVを取り除く
という風にすればいい となります。
次に、コマンドの説明です。
for %i in (*.JPG) do move "%~ni.MOV" "C:\Users\(ユーザー名)\Downloads\2023-12-03_MOV\%~ni.MOV"
まず、for %i in (*.JPG) doの部分は、指定された条件に基づいて処理を繰り返すfor文です。
ここでは、拡張子が「.JPG」であるすべてのファイルについてループ処理が行われます。
move "%~ni.MOV" "C:\Users\(ユーザー名)\Downloads\2023-12-03_MOV\%~ni.MOV"は、ループ内で実行されるコマンドです。
%~niは、変数 %i(現在のファイル)のベースネーム(拡張子を除いたファイル名)を取得します。
例えばIMG_4229.JPGについて処理を行っている場合、"%~ni.MOV"とするとIMG_4229.MOVを取得できます。
その取得したMOVファイルをmoveコマンドを用いて指定のディレクトリに移動しています。
以上、Live Photosを含む写真をWindowsに取り込んだ際に、Live PhotosのデータであるMOVのみを取り除いて移動するコマンドのご紹介でした。