【发布时间】:2021-05-22 20:32:27
【问题描述】:
我在 Powershell 中使用 Windows 批处理脚本将文件夹中所有编号的 .svg 文件转换为 .png,在命令行上使用 Inkscape,基于对上一个问题 here 的回答。
@echo off
for %%i in ("%~dp0*.svg") do (
echo %%i to %%~ni.png
"C:\Program Files\Inkscape\bin\inkscape.com" --export-type="png" --export-background-opacity=1.0 "%%i"
)
脚本为每个文件再次调用 Inkscape,我怀疑这是主要的速度瓶颈(我有很多文件要转换)。我宁愿调用一次 Inkscape 并提供要转换的文件列表。
是否可以使用--shell 模式来执行此操作?我找不到使用这种方法的示例。
【问题讨论】:
-
谢谢我已阅读文档。那里的示例数量有限,没有看到我希望做的示例,但我解决了问题并发布了自己的答案。
-
Inkscape 似乎是一个开源项目。任何人都可以更改代码来做他们想做的事。可能有足够的兴趣可以将其贡献回包中。 inkscape.org/contribute
-
是的,他们可以。
-
您可以使用 ImageMagick 和
magick mogrify -format PNG *.svg将目录中的所有 SVG 文件转换为 PNG
标签: windows shell svg cmd inkscape