批量转换swf为png

批量转换swf为png

我有一个文件夹,里面有很多 swf 文件。它们的名称如下:fis1.swf; fis2.swf; fis3.swf; ... fis20.swf。我想将它们全部转换为 png 文件。我知道可以使用 swftools 中的 swfrender 来完成,但它每次只能渲染一个文件。

答案1

我可能会这样做find

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

但你也许可以使用其他类型的循环:

for f in fis{1..20}.swf; do
    swfrender "$f" -o "$f.png"
done

答案2

首先创建一个新文件并调用它例如swfconvert

gedit swfconvert

将下面的代码粘贴到其中:

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

保存并关闭。然后从终端运行新的批处理:

sh swfconvert

此脚本适用于给定目录中的所有 swf 文件。它应保存在您的 .swf 文件所在的同一目录中

答案3

与 Oli 的回答类似,您也可以使用集合convert中的工具imagemagick

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

这可以写成一行

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

相关内容