
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" ./* ./*/*
- ファイル ディレクトリのエスケープ シーケンスは です
%d
。 - 現在のフォルダー内のすべてのファイルを含めるには、
./*
(シェル ワイルドカード) を使用します。 - すべてのサブフォルダー内のすべてのファイルを含めるには、
./*/*
(シェル ワイルドカード) を使用します。
(使用しているオペレーティング システムがわかりません。上記は 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