1

我的剧本

开始 /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 (result=="successful") && (errorimportedfiles==0) Then Echo "Import of PDF is successfull"。

有没有办法使用批处理脚本来验证结果?提前致谢。

4

1 回答 1

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,所以如果它找到字符串“成功执行 pdf”,那么 %ERRORLEVEL% 将为 0

如果有错误,它将等于 1。

更改代码,改为输出到文件,通常在最后通过管道查找命令将起作用,但如果不是此命令,则先保存到文件然后检查文件可能,Endoro 在他的评论中也提到了这种方式。

马丁

于 2013-07-23T14:46:50.017 回答