
如何使用 ImageMagick 以這種格式從所有資料夾和子資料夾中獲取圖像的詳細資訊。
file-name file-location file-format size width height
PS-我已閱讀此頁http://www.imagemagick.org/script/escape.php但找不到如何取得檔案位置路徑以及如何將檔案包含在子資料夾中。
答案1
我很確定 ImageMagick 本身不會像這樣遞歸地工作。您需要圍繞它編寫一個腳本/程式來處理您的目錄結構,並為每個要檢查的檔案呼叫一次。
答案2
以下命令將傳回您要尋找的資訊:
identify -format "%f %d %m %b %w %h\n" ./* ./*/*
- 文件目錄的轉義序列是
%d
. - 若要包含目前資料夾中的所有文件,請使用
./*
(shell 通配符)。 - 若要包含所有子資料夾中的所有文件,請使用
./*/*
(shell 通配符)。
(您沒有告訴您使用的是哪個作業系統。以上內容適用於 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 的範例:
delta.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 紅色-500x2000.jpg #26951336 JPEG 6288B 500 2000 調整大小-紅色-2000x2000.jpg #26951336 JPEG 7430B 1000 1000 大邊緣-25.jpg #27290574 JPEG 98916B 1024 288 big.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
我的情況的結果:
delta.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 紅色-500x2000.jpg #26951336 JPEG 6288B 500 2000 調整大小-紅色-2000x2000.jpg #26951336 JPEG 7430B 1000 1000 大邊緣-25.jpg #27290574 JPEG 98916B 1024 288 big.jpg #27290574 JPEG 19216B 1024 576 雙.jpg #27290574 JPEG 35076B 480 270 小.jpg #27290574 JPEG 20716B 720 404