当某些命令显示窗口错误时,我们可以捕获批处理脚本中的错误吗?

我遇到了一个问题。 我通过批处理脚本安装了一些软件。 我的脚本文件如下

msiexec /i "d:\ffr\ff\ff.msi" /qb /NORESTART echo %errorlevel% 

这里的文件d:\ ffr \ ff \ ff.msi在我的系统中不存在,所以它显示一个新的窗口,显示错误信息“The installation package could not be opened。Verify the package exists and that you can access it,or contact the应用程序供应商….“然后下一行回声%errorlevel%o / p是0。

我们可能会这样做

 IF EXIST "d:\ffr\ff\ff.msi" (msiexec /i "d:\ffr\ff\ff.msi" /qb /NORESTART ) 

但我需要捕捉错误消息或任何信息,在我的batch file中出了问题。 有什么办法吗? 谢谢。

因此,作为一个解决方案,只有在ERRORLEVEL大于0的情况下,才能打印错误或其他文本

 @echo off SETLOCAL EnableDelayedExpansion ver > nul msiexec /i "d:\ffr\ff\ff.msi" /qb /QUIET /NORESTART if ERRORLEVEL == 1 echo There was a problem with the command error returned %errorlevel%