Eu quero correrImagemMagickcom a identify
opção de digitalizar todas as imagens em várias pastas ao mesmo tempo.
Ele deve ser executado de forma semelhante à sintaxe abaixo, mas quero registrar tudo no mesmo arquivo de log e gostaria de criar um arquivo em lote para isso, se possível também.
magick identify -verbose "D:\Images" >log.txt 2>&1
Responder1
Você poderia simplesmente executar umPARA /Floop com umDIRcomando para obter o caminho explícito completo para cada arquivo do diretório de origem (D:\Images) e percorrê-lo recursivamente.
Basicamente, isso passa cada caminho explícito completo e nome de arquivo para o magick
comando, um por um, e então você os anexará ao arquivo de log para revisão posterior.
Recursos adicionais e um exemplo de comando com sintaxe aplicável usando tudo isso são fornecidos abaixo para você utilizar adequadamente. Este deve ser um bom ponto de partida para você.
Exemplo de linha de comando
OBSERVAÇÃO: Você pode substituir a parte de
D\Images\*.*"
como D\Images\*.jpg"
ou qualquer extensão de arquivo para listar apenas essas extensões de arquivo específicas e também pode alterá-la para F:\OtherFolder\*.png"
ou o que for necessário, para que um caminho de pasta e/ou extensões de arquivo diferentes possam ser especificados nessa parte do exemplo. Fornecido abaixo.
FOR /F "DELIMS=" %A IN ('DIR /A-D /S /B "D:\Images\*.*"') DO magick identify -verbose "%~A">>D:\logfile.txt
Exemplo de script em lote
OBSERVAÇÃO: Eu criei esse script para que você possa definir facilmente as variáveis de acordo com suas necessidades para acomodá-las adequadamente por execução.
@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 adicionais
Responder2
O liner a seguir (funciona no Linux, mas provavelmente também no Windows 10 usando o Windows PowerShell) fornece uma lista recursiva de todas as imagens jpg nos diretórios subjacentes e seus detalhes:
find . -name "*.jpg" -exec identify {} \;