我试图使用错误级别检查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!
!errorlevel!
&& ECHO success || ECHO failure代替%ERRORLEVEL% (这在magick行之后打印了success)
IF NOT ERRORLEVEL 0 ( ECHO oops ) (没有打印任何内容)这使我相信magick命令中的错误实际上并没有将错误级别设置为非零,但是是否有另一种方法来检查该命令是否遇到问题?
发布于 2020-11-15 22:40:37
ImageMagick警告不会增加错误级别,为此必须将-regard-warnings选项添加到命令中(谢谢马克!)
但是,magick命令取代了ImageMagick 7及更高版本中的magick convert和其他命令,现在似乎没有一个可用的-regards-warnings选项:https://imagemagick.org/script/porting.php#cli。因此,在这种情况下必须使用magick convert -regard-warnings [other options]。
https://stackoverflow.com/questions/64848198
复制相似问题