以下のようなサンプルJavaコードがあります。
String testEfdDirectoryPath="D:\\test";
String efdExecutable = "test.cmd";
File executableFile = new File(testEfdDirectoryPath, efdExecutable);
ProcessBuilder pb=new ProcessBuilder();
$$pb.command("cmd.exe","/C",executableFile.toString());$$
pb.directory(new File(testEfdDirectoryPath));
Process p=pb.start();
int code=p.waitFor();
System.out.print(code);
test.cmd には、実際には別の Java アプリケーションへの呼び出しがあります。$$ でマークされた行を次のように変更して出力をリダイレクトしない限り、別の Java アプリを起動できません。
pb.command("cmd.exe","/C",executableFile.toString(),">output.txt");
何かアイデアはありますか?前もって感謝します。:)