1

Я хочу запустить ImageMagick с опцией identify чтобы сканировать все изображения в нескольких папках одновременно.

Он должен работать аналогично приведенному ниже синтаксису, но я хочу записать все в один и тот же файл журнала, и я хотел бы также создать командный файл для этого, если это возможно.

magick identify -verbose "D:\Images" >log.txt 2>&1

1 ответ1

1

Вы можете просто запустить цикл FOR /F с помощью команды DIR, чтобы получить полный явный путь к каждому файлу из исходного каталога (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

Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .