我正在尝试使用Windows上的groovy脚本自动完成我的一些工作。我认为这将是学习groovy的好开始。大多数部分我使用groovy来执行繁琐的CMD命令,但是我发布的很少都是在烦扰我。
首先是我找不到终止groovy脚本的方法说:
if (!new File('c:\\myDir').exists)
秒 - 问题
"cmd /c doStuff".execute()
现在我读到这是在CMD上执行命令的好方法,但我在源代码处达到顶峰,并且每个'execute()'方法都被标记为已弃用,但我最大的问题是我看起来不能找出如何实时流式传输结果,例如:
println 'cmd /c mvn clean install'.execute(null, new File('sourcePath')).text
此语句仅在整个构建完成后打印出结果。那么有什么解决方案吗?
感谢。
答案 0 :(得分:3)
尝试:
def p = 'cmd /c mvn clean install'.execute(null, new File('sourcePath'))
p.consumeProcessOutput( System.out, System.out )
p.waitFor()