私は1つのディレクトリからコマンドを実行する必要があり、出力を別のディレクトリに保存する必要があるeclipse rcp製品に取り組んでいます。javaを使用してコマンドを実行し、生成された出力を別のディレクトリに保存します。
コマンドの出力はファイルです。
私はそれを行う方法がありません。
私のコードはこのように動作しません。
Runtime r = Runtime.getRuntime();
Process p = r.exec(("CMD /C cd D:\\dir1\\bin" + " && " + command),
null, new File("D:\\Data\\test"));
したがって、コマンドはdir1/binから実行する必要があり、このコマンドの出力はdata/testに保存するファイルです。
しかし、上記のコードから、出力(つまり、生成されたファイル)はdir1/binに保存されますが、これは期待されません。
Runtime.execは廃止されました。その代替は、長年にわたり、[ProcessBuilder](https://docs.oracle.com/javase/9/docs/api/java/lang/ProcessBuilder.html)クラスでした。コマンドを単一のStringとして指定するのではなく、一連のコマンドライン引数として指定するべきです。あなたの命令を見ることなく、私はそれを正しく行う方法を教えてくれません。 – VGR