画像の詳細を取得する ImageMagick

画像の詳細を取得する ImageMagick

ImageMagick を使用して、この形式ですべてのフォルダーとサブフォルダーから画像の詳細を取得する方法。

file-name file-location file-format size width height

追伸 - このページを読みましたhttp://www.imagemagick.org/script/escape.phpしかし、ファイルの場所のパスを取得する方法とサブフォルダーにファイルを含める方法が見つかりません。

答え1

ImageMagick はそれ自体ではそのように再帰的に動作しないはずです。ディレクトリ構造を処理するスクリプト/プログラムを記述し、チェックするファイルごとに 1 回呼び出す必要があります。

答え2

次のコマンドは、探している情報を返します。

  identify -format "%f %d %m %b %w %h\n" ./* ./*/*
  1. ファイル ディレクトリのエスケープ シーケンスは です%d
  2. 現在のフォルダー内のすべてのファイルを含めるには、./*(シェル ワイルドカード) を使用します。
  3. すべてのサブフォルダー内のすべてのファイルを含めるには、./*/*(シェル ワイルドカード) を使用します。

(使用しているオペレーティング システムがわかりません。上記は Linux、Unix、Mac OS X で機能します。Windows の場合は、ワイルドカードとして.\*.*と を使用します.\*.*\*.*。)

注意!フォルダ内に画像以外のファイルやPDF文書がある場合、このコマンドの実行にかなり時間がかかる可能性があります。画像以外のファイルの場合は、次のようなエラーメッセージが表示されます。

identify: no decode delegate for this image format `EXE' @ error/constitute.c/ReadImage/501.

すべてのエラー メッセージを にリダイレクトすることでこれを回避できます/dev/null

したがって、次のバリエーションを使用する方が良いかもしれません:

 identify                                   \
   -format "%f %d %m %b %w %h\n"            \
    *.{jpg,jpeg,JPG,png,tif,tiff,ppm,gif}   \
    */*.{jpg,JPG,jpeg,png,tif,tiff,ppm,gif} \
   2>/dev/null

以下は Mac OS X の例です。

デルタ.jpg #12649876 JPEG 17441B 307 205
CMYK_separation_–_maximum_black.jpg #21270389 JPEG 1453360B 1600 4780
HFnCz.jpg #21270389 JPEG 356748B 1600 1195
結合.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
red-500x2000.jpg #26951336 JPEG 6288B 500 2000
resized-red-2000x2000.jpg #26951336 JPEG 7430B 1000 1000
ビッグエッジ25.jpg #27290574 JPEG 98916B 1024 288
大きい.jpg #27290574 JPEG 19216B 1024 576
ダブル.jpg #27290574 JPEG 35076B 480 270
小さい.jpg #27290574 JPEG 20716B 720 404

#27290574(はい、私は 、および類似の名前のサブディレクトリを持つディレクトリでこのコマンドを実行しました#26951336...)

出力をもっと表のような形式にしたい場合があります。そのためには、結果を にパイプしますcolumn -t。次に、次を試してください。

 identify                                   \
   -format "%f %d %m %b %w %h\n"            \
    *.{jpg,jpeg,JPG,png,tif,tiff,ppm,gif}   \
    */*.{jpg,JPG,jpeg,png,tif,tiff,ppm,gif} \
   2>/dev/null  |  column -t

私の場合の結果:

デルタ.jpg #12649876 JPEG 17441B 307 205
CMYK_separation_–_maximum_black.jpg #21270389 JPEG 1453360B 1600 4780
HFnCz.jpg #21270389 JPEG 356748B 1600 1195
結合.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
red-500x2000.jpg #26951336 JPEG 6288B 500 2000
resized-red-2000x2000.jpg #26951336 JPEG 7430B 1000 1000
ビッグエッジ25.jpg #27290574 JPEG 98916B 1024 288
大きい.jpg #27290574 JPEG 19216B 1024 576
ダブル.jpg #27290574 JPEG 35076B 480 270
小さい.jpg #27290574 JPEG 20716B 720 404

関連情報