我希望编写一个批处理脚本来自动化项目发布。以下命令将包含在脚本中。但是,脚本应检查先前的命令是否已成功完成,然后继续执行下一个命令。
1.svn co https://projectbase/svn/projectname/trunk
2.mvn clean install
3.mvn release:prepare
4.mvn release:perform
我知道我应该使用调用mvn命令,但是,如何编写批处理脚本来检查一个命令是否成功完成,然后继续执行批处理脚本中的下一个命令?
答案 0 :(得分:1)
试试这个 - 如果maven产生错误,它依赖于[ERROR]
条目:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%M in ('mvn clean install') do (
endlocal
echo %%M
echo %%M | find "[ERROR]" 2>&1 > null && echo --Error durring maven execution-- && goto :endfor
)
endlocal
setlocal enabledelayedexpansion
for /f "delims=" %%M in ('mvn next command') do (
endlocal
echo %%M
echo %%M | find "[ERROR]" 2>&1 > null && echo --Error durring maven execution-- && goto :endfor
)
endlocal
goto :skipendfor
:endfor
rem put here code you want to execute if maven fails
goto :eof
:skipendfor
rem put here code you want to execute if maven succeed
goto :eof