我的剧本
start / wait / b groovy -cp%webservicejarpath%importFile.groovy -p ProcessYYY -i PDF“
给出以下控制台输出,有点像这样::
在处理单元'ProcessYYY'中成功执行了pdf'data.PDF'。 返回值:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<finalresult process="ProcessYYY" >
<info result="successful" time="12:11:12" totalfilesimported="1" errorimportedfiles="0">
<jobs class="PDFIMPORT">
<job id="Job1003"/>
</jobs>
</info>
</finalresult>
问题是我不知道如何捕获此信息并使用批处理脚本验证结果。 例如。 :if(结果==“成功”)&amp;&amp; (errorimportedfiles == 0)然后Echo“导入PDF成功”。
有没有办法使用批量scritping验证结果? 提前谢谢。
答案 0 :(得分:1)
您可以使用find在输出中查找文本。
start /wait /b groovy -cp %webservicejarpath% importFile.groovy -p ProcessYYY -i PDF" > out.txt
type out.txt | find "successful"
IF %ERRORLEVEL% == 0 goto success
goto fail
:success
REM SUCCESS, Do what work you want due to a success
echo "The import is successful"
goto end
:fail
REM Fail, DO what work you want because it failed.
echo "The import was not successful"
:end
您可以将任何内容放在“成功执行pdf”字符串的位置,该字符串对于成功的结果是唯一的。
为最后一个命令运行设置变量%ERRORLEVEL%,最后一个命令为FIND,因此如果找到字符串“Successfully execution the pdf”,则%ERRORLEVEL%将为0
如果出现错误,它将等于1。
更改代码,输出到文件,通常在末尾管道find命令会起作用,但如果不是这个命令然后先保存到文件然后检查文件,Endoro会在评论中提到这一点太
马丁