Использование imagemagick для идентификации всех файлов в нескольких подпапках
Я хочу запустить ImageMagick с identify
Возможность сканировать все изображения в нескольких папках одновременно.
Он должен работать аналогично приведенному ниже синтаксису, но я хочу записать все в один и тот же файл журнала, и я хотел бы также создать командный файл для этого, если это возможно.
magick identify -verbose "D:\Images" >log.txt 2>&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
Дополнительные ресурсы
Следующий лайнер (работает в Linux, но, вероятно, также и в Windows 10 с использованием Windows PowerShell) дает вам рекурсивный список всех изображений jpg в базовых каталогах и их детали:
find . -name "*.jpg" -exec identify {} \;