我想跑圖像魔術師可以identify
選擇一次掃描多個資料夾中的所有影像。
它的運作方式應該類似於下面的語法,但我想將其全部記錄到同一個日誌檔案中,如果可能的話,我也想為此建立一個批次檔。
magick identify -verbose "D:\Images" >log.txt 2>&1
答案1
你可以運行一個對於/F循環與目錄命令從來源目錄 (D:\Images) 取得每個檔案的完整顯式路徑並遞歸遍歷它。
這實質上是將每個完整的明確路徑和檔案名稱magick
一一傳遞給命令,然後您將它們附加到日誌檔案中以供以後查看。
下面提供了其他資源和使用所有這些的適用語法的範例命令,供您相應地使用。這對您來說應該是一個很好的起點。
命令列範例
筆記: D\Images\*.*"
您可以替換as或任何檔案副檔名的部分
D\Images\*.jpg"
,以僅列出那些特定的檔案副檔名,您也可以F:\OtherFolder\*.png"
根據需要將其變更為或任何其他內容,以便可以在範例的該部分中指定不同的資料夾路徑和/或檔案副檔名下面提供。
FOR /F "DELIMS=" %A IN ('DIR /A-D /S /B "D:\Images\*.*"') DO magick identify -verbose "%~A">>D:\logfile.txt
批次腳本範例
筆記: 我製作了這個腳本,這樣您就可以輕鬆地根據您的需求設定變量,以適應每次運行。
@ECHO ON
SET Source=D:\Images
SET Ext=*.jpg
SET LogFile=D:\logfile.txt
FOR /F "DELIMS=" %%A IN ('DIR /A-D /S /B "%Source%\%Ext%"') DO magick identify -verbose "%%~A">>"%LogFile%"
GOTO EOF
更多資源
答案2
以下一行(適用於 Linux,但也可能使用 Windows PowerShell 在 Windows 10 上)為您提供基礎目錄中所有 jpg 映像及其詳細資訊的遞歸清單:
find . -name "*.jpg" -exec identify {} \;