Usando imagemagick para identificar todos os arquivos em várias subpastas

1

Eu quero executar ImageMagick com a opção identify para digitalizar todas as imagens em várias pastas em uma vez.

Ele deve ser executado da mesma forma que a sintaxe abaixo, mas eu quero registrar tudo no mesmo arquivo de log e, se possível, também gostaria de criar um arquivo em lote para isso.

magick identify -verbose "D:\Images" >log.txt 2>&1
    
por Seiya Souji 21.09.2016 / 04:07

1 resposta

1

Você pode simplesmente executar um loop FOR / F com um DIR para obter o caminho explícito completo para cada arquivo do diretório de origem (D: \ Images) e percorrê-lo recursivamente.

Isso basicamente passa cada caminho explícito completo e nome de arquivo para o comando magick um por um e, em seguida, você os anexará ao arquivo de log para revisão posterior.

Recursos adicionais e um comando de exemplo com a sintaxe aplicável usando tudo isso são fornecidos para você usar de acordo. Este deve ser um bom ponto de partida para você.

Exemplo de linha de comando

NOTA: Você pode substituir a parte de D\Images\*.*" as D\Images\*.jpg" ou qualquer extensão de arquivo a listar apenas as extensões de arquivo em particular e você também pode mudar para F:\OtherFolder\*.png" ou o que for para a necessidade tão diferente caminho da pasta e / ou extensões de arquivo pode ser especificado nessa parte do o exemplo que forneci 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 fiz este script para que você possa configurar facilmente as variáveis de acordo com as suas necessidades para acomodar 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

Mais recursos

por 21.09.2016 / 05:22