画像の修正時間を保存するには、mogrify / imagemagickを使用してください。

画像の修正時間を保存するには、mogrify / imagemagickを使用してください。

家族の写真は非常に多いですが、完全な解像度は必ずしも必要ではありません。 mogrifyを使いたいのですが、サンプル画像セットに使ってみましたが、ファイル修正時間が現在時刻に設定されているようです。元のイメージの修正/作成時間を保存する方法はありますかstat

ベストアンサー1

次のスクリプトを使用すると、いつでもこれを実行できます。

exiftool  -q -r -ext jpg -if '
    $ImageWidth > 1000 ||
    $ImageHeight > 1000 and
      !print "$Directory/$Filename\0"' . |
  xargs -r0 sh -c '
    for file do
      mv -i "$file" "$file.back" &&
        convert -resize "1000x1000>" "$file.back" "$file" &&
        touch -r "$file.back" "$file"
    done' sh

画像は、1000×1000の境界ボックスに収まるようにサイズ変更されます。

  • exiftoolサイズを変更する必要がある画像を見つけるために使用されます。
  • convertサイズを変更してください(Exif情報には影響しません)。
  • touch -rバックアップファイルから元のタイムスタンプを復元する

おすすめ記事