当某些命令显示窗口错误时,我们能否在批处理脚本中捕获错误?

时间:2017-05-05 10:36:48

标签: windows batch-file

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

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

此处文件d:\ ffr \ ff \ ff.msi在我的系统中不存在,因此它显示一个带有错误消息的新窗口"无法打开安装包。验证包是否存在以及您是否可以访问它,或者联系应用程序供应商...." 然后下一行echo%errorlevel%o / p为0。

我们可以这样做

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

但我需要捕获该错误消息或我的批处理文件中出现错误的任何信息。有什么办法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

因此,作为一种解决方案,您只能在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%