大量の画像を受け取りました。グレースケールのものもあれば、カラーのものもありました。すべて tiff、png、jpeg などが混在しています。すべてローカル ドライブにあります。
私の目的は、これらの画像をカラーパレット(グレースケールのみまたはフルカラー)、画像サイズ(幅と高さ)、ファイルサイズなどによって異なるディレクトリに分けることです。
必要なフィルタリングは必要なすべてのルールに適用することなので、処理順序に関する要件はありませんand
。つまり、すべての条件に一致する画像のみ。
これを自動化するにはどうすればいいでしょうか?
答え1
Exifツールあなたの要件を満たすはずです。非常に強力で、膨大な数をサポートファイルタイプそしてメタタグ、タグやその他のさまざまな基準に基づいた複雑なPerl条件式と設定ファイルを可能にします。ドキュメンテーション完全に、特にセクションユーザーが指定した基準に基づいてファイル名を変更したり、宛先ディレクトリを作成したりすることに専念しています。最後に、混乱したり行き詰まったりした場合は、フォーラム開発者とコミュニティが非常に協力的なので、きっと役立つでしょう。
小さくてかなり単純な例として、次のコマンドは、認識されたすべての画像ファイルを移動します。どちらか幅1024ピクセルまたは高さ480ピクセルそして(どちらの場合も) 200KB 未満のファイルを次のディレクトリ (必要に応じて作成されます) に保存しますMoved
。
exiftool -if "((($ImageWidth==1024) || ($ImageHeight==480)) && ($FileSize#<204800))" -directory=Moved *.*
注: ここで、$ の後にタグ名が続き、オプションで # を追加して印刷変換を無効にします (つまり、ファイル サイズに KB、MB などの人間が読める形式ではなく数値形式を使用します)。繰り返しますが、すべてドキュメントで説明されています。