imagemagick 批处理命令后的错误级别 0

Errorlevel 0 after imagemagick batch command

我正在尝试使用错误级别检查 ImageMagick 命令是否成功完成。 但是,我只得到错误级别 0。这是我目前正在尝试的:

@ECHO OFF
SETLOCAL EnableDelayedExpansion

::setting %file% and %outputfile% here, not relevant

ECHO error: %ERRORLEVEL%
magick convert "%file%" -crop 200x200+100+100 -threshold 50%% -define png:color-type=3 -define png:bit-depth=1 %outputname%
ECHO error: %ERRORLEVEL%

file是一个小于300x300的文件时,magick命令打印convert: invalid profile length `file.png' @ warning/png.c/MagickPNGWarningHandler/1748.但是所有回显命令输出0。

我尝试过的事情:

这让我相信 magick 命令中的错误实际上并没有将 errorlevel 设置为非零值,但是有没有其他方法可以检查命令是否遇到问题?

ImageMagick 警告不会增加错误级别,必须将 -regard-warnings 选项添加到命令中才能这样做(感谢 Mark!)

但是,替代 magick convert 和 ImageMagick 7 及更高版本中的其他命令的 magick 命令现在似乎没有可用的 -regards-warnings 选项:https://imagemagick.org/script/porting.php#cli.因此,在这种情况下必须使用magick convert -regard-warnings [other options]