Java

2013-01-29, java

Runtime.execでワイルドカード

Runtimeクラスの使用自体、ちょっと古いのかもしれませんが。Runtimeクラスのexecメソッドに渡すコマンドにワイルドカードが含まれていても、そのままでは展開して貰えません。以下のように任意のシェルを一度通すと期待した動作をしてくれるようです。

String cmd = "cp foo/*.txt bar/";
Process p = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",cmd});
int ret = p.waitFor();

参考URL

この記事は役に立ちましたか?