
iPhoneで撮った写真がたくさん入っているフォルダがあります。結果の半分はJPGで、半分はHEIC形式でなければなりません。
何らかの理由でこのフォルダ内のすべての写真の拡張子はJPGです。以下を確認してください。https://i.stack.imgur.com/wHzT8.jpg
まず、上記の画像のように他のJPGファイルが破損したファイルであることを知って開こうとしたところ、エラーが発生しました。それからApple Live Photosなので、JPGではなくHEICでなければならないことに気づきました。 HEIC形式で開かれていない複数のJPGファイルの名前を手動で変更すると、ライブ写真なので、ショートビデオで正しく開きました。
私の質問は次のとおりです開くことができない偽のJPGファイルをすべて見つけて、名前を.JPGから.HEICに変更する方法はありますか?他の写真はライブ写真ではないので、すべてのJPGの名前をHEICに変更することはできません。
答え1
JPGファイルは開くことができますが、HEICは開くことができないコマンドラインプログラムがある場合は、プログラムを実行して終了コードを使用してファイルが有効なJPGであることを確認できます。
convert
imagemagickプログラムを試してみてください。
テストされていない例:
for jpg in *.jpg
do
heic="${jpg%.jpg}.heic" # construct HEIC file name
tmp="$jpg.png" # temporary PNG file
if ! convert "$jpg" "$tmp" # try to convert
then
mv "$jpg" "$heic" # rename if conversion failed
fi
rm -f "$tmp" # PNG no longer needed
done
convert
もちろん、プログラムがHEICファイルを入力として受け入れる場合は機能しません。
サンプルコードは以下からインスピレーションを得ました。https://github.com/williamthing/Scripts/blob/master/Shell/jpg2png.sh