嗨,我正在寫一個批處理文件。如果這個log.txt文件包含「返回代碼:8」或「返回代碼:12」或「返回代碼:16」,我的目的是運行commond,並在「log.txt」中捕獲日誌文件,我必須停止執行剩下。需要幫助來檢查錯誤日誌,並決定繼續或退出
樣品批處理文件是如下(SAP運輸)
For /F "tokens=1,2" %%a in (trlist.txt) do (
tp import %%a SYSTEMID client=%%b u01 pf=c:\trans\sap\bin\dbc.pfl 1>>c:\log.txt 2>&1
findstr /C:"return code: 8" c:\log.txt
if errorlevel 0 goto END
findstr /C:"return code: 12" c:\log.txt
if errorlevel 0 goto END
findstr /C:"return code: 16" c:\log.txt
if errorlevel 0 goto END
)
Echo "Processed successfully ...:">c:\result.txt
Echo "Check the c:\log.txt file " >>c:\result.txt
Exit
:END
Echo "Error occured... " > c:\result.txt
Echo "Check the c:\log.txt file." >>c:\result.txt
Exit.
TP的每一次執行之後,檢查log.txt文件。如果這包含上面提到的任何返回碼,則應停止進一步執行。
儘管「返回碼:4」和「返回碼:0」不應退出,但腳本正在退出。
我在Windows 2008服務器上運行上述bat文件。
'如果錯誤級別0'將它爲0或更高返回true。閱讀此頁面瞭解錯誤級別檢查。 http://www.robvanderwoude.com/errorlevel.php – RLH