我试图创建一个与ImageMagick合作将SVG转换为PNG的批处理。我也试图让它做不同的操作,具体取决于传递给它的参数。
svg2png -all
上述命令应该告诉它转换文件夹中的每个SVG。
svg2png examplename.svg
此命令应该告诉它只转换单个SVG。
我的问题是我无法承认-all不是文件名,而是一个参数,所以它会检查一个名为-all的文件,当然这不是一个文件。存在。
有人可以帮忙吗?以下是我的代码:
@echo off
if "%1"=="" goto noparameters
if "%1"==-all goto convertall
if exist "%1" (
goto convertsingle
) else (
goto badfilename
)
goto noparameters
:convertall
echo.
for %%a in ("*.svg") do (
echo Now converting %%a.
magick convert -size 512x512 %%a %%a.png
)
goto endbatch
:convertsingle
echo.
echo Now converting %1.
magick convert -size 512x512 %1 %1.png
goto endbatch
:noparameters
echo.
echo No parameters specified.
goto endbatch
:badfilename
echo.
echo SVG2PNG could not find the specified file.
goto endbatch
:endbatch
答案 0 :(得分:4)
报价是比较的一部分。如果你在比较的一边有它们,它们必须在另一边,以使它们相等。
if "%1"=="-all" goto convertall