从Groovy运行脚本

rao*_*son 6 scripting groovy groovyshell

为了使我的设置更接近"一键部署",我想使用groovy脚本来启动/停止由bat脚本控制的其他进程,在文件系统的不同部分运行,甚至在不同的机器上运行.

如何执行这些脚本以及如何从各自的工作目录中执行它们

我知道Java的

java.lang.Runtime's exec()
Run Code Online (Sandbox Code Playgroud)

但是这有很多问题,我想知道Groovy是否也有这种简写?

谢谢!

Joh*_*ugh 11

Groovy为普通的旧String添加了一个execute()方法,所以试试这个:

println "ls -la".execute().text
Run Code Online (Sandbox Code Playgroud)


sea*_*and 9

如果使用"cmd/c"命令为它添加前缀,则execute()方法可用于更改目录,然后使用&符号(假设Windows)将命令链接在一起.

例如,假设您要转到子目录subdir并从那里运行几个批处理文件:

println "cmd /c cd subdir & batch1.bat & batch2.bat".execute().text
Run Code Online (Sandbox Code Playgroud)

不确定是否有更好的方法,但这确实有效.