Я хочу бежатьImageMagickс identify
возможностью сканирования всех изображений в нескольких папках одновременно.
Его следует запускать аналогично приведенному ниже синтаксису, но я хочу регистрировать все это в одном файле журнала, и я хотел бы создать для этого пакетный файл, если это возможно.
magick identify -verbose "D:\Images" >log.txt 2>&1
решение1
Вы могли бы просто запуститьДЛЯ /Фпетля сДИРкоманда для получения полного явного пути к каждому файлу из исходного каталога (D:\Images) и его рекурсивного обхода.
По сути, это поочередно передает команде каждый полный явный путь и имя файла, magick
а затем вы добавляете их в файл журнала для последующего просмотра.
Дополнительные ресурсы и пример команды с применимым синтаксисом, использующим все это, предоставлены ниже для вашего использования соответствующим образом. Это должно стать хорошей отправной точкой для вас.
Пример командной строки
ПРИМЕЧАНИЕ: Вы можете заменить часть на
D\Images\*.*"
или 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 10 с использованием Windows PowerShell) выводит рекурсивный список всех изображений JPG в базовых каталогах и их подробную информацию:
find . -name "*.jpg" -exec identify {} \;