quiero correrImagenMagiacon la identify
opción de escanear todas las imágenes en varias carpetas a la vez.
Debería ejecutarse de manera similar a la sintaxis siguiente, pero quiero registrarlo todo en el mismo archivo de registro y, si es posible, también me gustaría crear un archivo por lotes para esto.
magick identify -verbose "D:\Images" >log.txt 2>&1
Respuesta1
Podrías simplemente ejecutar unPARA /Fbucle con undireccióncomando para obtener la ruta explícita completa a cada archivo desde el directorio de origen (D:\Images) y recorrerla de forma recursiva.
Básicamente, esto pasa cada ruta completa y explícita y nombre de archivo al magick
comando uno por uno y luego los agregará al archivo de registro para su posterior revisión.
A continuación se proporcionan recursos adicionales y un comando de ejemplo con la sintaxis aplicable que utiliza todo esto para que lo utilice en consecuencia. Este debería ser un buen punto de partida para usted.
Ejemplo de línea de comando
NOTA: Puede reemplazar la parte de
D\Images\*.*"
como D\Images\*.jpg"
o cualquier extensión de archivo para enumerar solo esas extensiones de archivo en particular y también puede cambiarla a F:\OtherFolder\*.png"
o lo que sea según sea necesario, de modo que se pueda especificar una ruta de carpeta diferente y/o extensiones de archivo en esa parte del ejemplo. proporcionado a continuación.
FOR /F "DELIMS=" %A IN ('DIR /A-D /S /B "D:\Images\*.*"') DO magick identify -verbose "%~A">>D:\logfile.txt
Ejemplo de secuencia de comandos por lotes
NOTA: Creé este script para que pueda configurar las variables según sus necesidades fácilmente y adaptarlas en consecuencia por ejecución.
@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
Recursos adicionales
Respuesta2
La siguiente línea (funciona en Linux, pero probablemente también en Windows 10 usando Windows PowerShell) le brinda una lista recursiva de todas las imágenes jpg en los directorios subyacentes y sus detalles:
find . -name "*.jpg" -exec identify {} \;