端末:複数のJPGファイルの名前をHEIC形式に変更し、条件を提供します。

端末:複数のJPGファイルの名前をHEIC形式に変更し、条件を提供します。

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であることを確認できます。

convertimagemagickプログラムを試してみてください。

テストされていない例:

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

おすすめ記事