批量检查variables是否为空并执行操作

我有以下批处理代码:

set checkerr= for /f "delims=" %%a in ('findstr "Error" %LOG%') do @set checkerr=%%a echo %checkerr% if "%checkerr%" NEQ [] GOTO sendmail 

但它不工作,我希望它只有在日志文件中find文本string“错误”才发送邮件

注意:日志文件中的错误可能如下所示:

 20131117185439: Error: Field not found - <blablabla> 20131117185445: General Script Error 20131117185445: Execution Failed 20131117185445: Execution finished. 

所以有空间和其他字符等

问候

当前面的命令生成错误级别0时, &&运算符执行以下命令,所以这应该是等价的,当在日志文件中找到“错误”时,它将跳转到:sendmail标签。

 findstr "Error" "%LOG%" >nul && goto :sendmail 

这个伴侣运算符是|| 并且这个错误级别不为零时执行以下命令。

要检查一个变量是否为空,你可以使用这个:

 if not defined variablename goto :sendmail