代码之家  ›  专栏  ›  技术社区  ›  raoulsson

从Groovy运行脚本

  •  6
  • raoulsson  · 技术社区  · 15 年前

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

    我知道Java的

    java.lang.Runtime's exec()
    

    然而,这有很多问题,我想知道Groovy是否也有一些速记?

    谢谢

    4 回复  |  直到 15 年前
        1
  •  11
  •   John Flinchbaugh    15 年前

    println "ls -la".execute().text
    
        2
  •  9
  •   seansand    15 年前

    如果在execute()方法前面加上“cmd/c”命令,然后使用符号(假设为Windows)将命令链接在一起,则可以使用execute()方法更改目录。

    例如,假设您想转到子目录 细分

    println "cmd /c cd subdir & batch1.bat & batch2.bat".execute().text
    

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

        3
  •  1
  •   Marco    14 年前

    ProcessBuilder允许您

    • 确定工作目录
    • 确定工艺应具有哪些环境变量

    http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html 有关简要示例和更多文档。

        4
  •  0
  •   Bill K    12 年前

    如果您不怕创建一些可重用代码,那么可以创建一个包装.execute()进程的对象。我创造了这样的东西,并定期使用。

    def proc=“cmd”.execute()

    我将所有这些都封装在一个封套中,以便您可以这样做:

    cmd("cd \\ \n dir ") {
        if(it.contains("AUTOEXEC.BAT")) 
            println it;
        return true;
    }
    

    def directoryListing=cmd("cd\\\ndir")
    

    会很容易给我一个快速的目录列表。