imagemagick을 사용하여 여러 하위 폴더의 모든 파일 식별

imagemagick을 사용하여 여러 하위 폴더의 모든 파일 식별

나는 달리고 싶다이미지매직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 {} \;

관련 정보