我有如下的批處理代碼:批次 - 檢查是否變量是不是空的,執行操作
set checkerr=
for /f "delims=" %%a in ('findstr "Error" %LOG%') do @set checkerr=%%a
echo %checkerr%
if "%checkerr%" NEQ [] GOTO sendmail
但它不工作,我希望它發送郵件只有文本字符串「錯誤」在日誌文件中找到
注:在日誌文件中的錯誤可能是這樣的:
20131117185439: Error: Field not found - <blablabla>
20131117185445: General Script Error
20131117185445: Execution Failed
20131117185445: Execution finished.
所以有空格和其他字符等
個問候
'「」'不是'[]',所以當然它總是不等於。使用一個或另一個。但是,你真的應該使用foxidrive的解決方案 - 這是一個更好的方法。 – dbenham
事情是我已經嘗試過與「」,但有錯誤。我結束了使用foxdrive的解決方案。謝謝 – anarchist
另外,初始化checkerr時可能會有尾隨空格。最好使用'set「checkerr =」',然後用'if'%checkerr%「NEQ」「goto sendmail」。永遠不會,foxiderive的答案仍然是要走的路:-) – dbenham