SSブログ

Groovy からプログラムを実行するには? [groovy]

Groovy でちょこちょこコードを書くことがあり、せっかくなので忘れないようにメモしておく。

Groovy から任意のプログラムを実行する(サブプロセスを起動するとか子プロセスを起動するとも呼ばれるが、本エントリでは区別しない)には、次のように記述する。

    str = "wget http://www.example.com/"
Process p = str.execute()
p.waitFor();

ここでは、wget と言うプログラムを http://www.example.com/ を引数として実行している。

実際に実行するのは execute() で、String クラスのメソッド。Process を返し、Process.waitFor() メソッドを用いると実行したプログラムが終了するのを待つことが出来る。

waitFor() を明示的に呼び出さない場合は非同期実行になるっぽい。

ちなみに、Windows の dir は cmd (コマンドプロンプト) の組み込み関数なので、dir を使う場合は次のように記述する。

    "cmd /c dir".execute()

dir は指定したディレクトリに含まれるファイルのリストを表示するコマンドなので、普通は dir した結果を利用する。この場合は、

    "cmd /c dir /b C:\\someDirectory".execute().text.eachLine {
println it
}

と記述すれば、ファイルリストの各ファイルパスを参照できる。dir の他にも cmd の組み込み関数はあるので注意されたい。

参考文献


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。