Batch convertendo swf para png

3

Eu tenho uma pasta com muitos arquivos swf. Eles são nomeados assim: fis1.swf; fis2.swf; fis3.swf; ... fis20.swf . Eu quero converter todos eles em arquivos png. Eu sei que isso pode ser feito com o swfrender do swftools, mas ele renderiza apenas um arquivo por vez.

    
por gabrielsimoes 14.03.2014 / 16:56

3 respostas

7

Eu provavelmente usaria find para fazer isso:

find -iname 'fis*.swf' -exec swfrender "{}" -o "{}.png" \;

Mas você provavelmente poderia usar outros tipos de loops:

for f in fis{1..20}.swf; do
    swfrender "$f" -o "$f.png"
done
    
por Oli 14.03.2014 / 16:59
2

Primeiro, crie um novo arquivo e chame-o por exemplo swfconvert

gedit swfconvert

Cole o código abaixo:

for img in *.swf; 
do 
 swfrender "$img" -o "$img.png"
done

Salvar e fechar. Em seguida, execute o novo lote no terminal:

sh swfconvert

Este script deve funcionar para todos os arquivos swf em um determinado diretório. Ele deve ser salvo no mesmo diretório onde seus arquivos .swf residem

    
por kirchberger 14.03.2014 / 19:24
1

Semelhante à resposta do Oli, você também pode usar a ferramenta convert do imagemagick set.

for f in fis{1..20}; do
convert $f.swf $f.png
done

Isso pode ser colocado em uma única linha como

for f in fis{1..20}; do convert $f.swf $f.png; done
    
por Registered User 15.03.2014 / 11:23