0

我有一个包含这些内容的批处理文件名 xyz.bat

 @echo off
 echo  1.Cleaning all four project.
 call apacheant\bin\ant -buildfile clean-all.xml

当第一次调用结束时,它会在控制台构建成功或构建失败。
在这种情况下,我如何验证此调用是否失败或通过了,我想决定下一次调用执行。

echo  1.Building all four project.
call apacheant\bin\ant -buildfile build-all.xml
@echo on
4

1 回答 1

2
echo  1.Building all four project.
call apacheant\bin\ant -buildfile build-all.xml >logfile.txt
findstr "succeed" logfile.txt >nul
if errorlevel 1 (echo Build failed) else (echo Build Succeeded)

当然,echo ...如果需要,可以将其替换为“set antstatus=SUCCEED”。

不要尝试使用 ERRORLEVEL 来控制处理,因为许多命令会更改 ERRORLEVEL 以报告它们自己的状态。

也有可能ANT在终止时返回状态。你可以检查

echo %errorlevel%

步骤之后ant。如果它返回一个错误级别,那么您不需要创建和解释日志文件。

IF ERRORLEVEL语法是

if errorlevel n Command_if_errorlevel_is_n_OR_GREATER_THAN_n
于 2013-04-05T06:54:11.710 回答