如何获取java开始的批处理脚本的信息,是否已经结束
How do I get the information of a batch script started in java, whether it has already ended
我在 Java 中使用像
这样的 ProcessBuilder 调用多个批处理文件
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c", "Start", "batchTest.bat");
File dir = new File(path);
processBuilder.directory(dir);
try {
Process p = pb.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在我想要脚本在 java 中完成的信息。就像脚本完全完成时的系统输出一样。 process.isAlive()
在脚本完成前变为假。而且 process.witFor()
也没有完成工作。也许有人有想法或解决方法?
好的,我知道了。 process.waitFor()
仅当您将参数 "/wait"
添加到 ProcessBuilder 的构造函数时才有效。
new ProcessBuilder("cmd", "/c", "Start", "/wait", "batchTest.bat");
我在 Java 中使用像
这样的 ProcessBuilder 调用多个批处理文件ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c", "Start", "batchTest.bat");
File dir = new File(path);
processBuilder.directory(dir);
try {
Process p = pb.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在我想要脚本在 java 中完成的信息。就像脚本完全完成时的系统输出一样。 process.isAlive()
在脚本完成前变为假。而且 process.witFor()
也没有完成工作。也许有人有想法或解决方法?
好的,我知道了。 process.waitFor()
仅当您将参数 "/wait"
添加到 ProcessBuilder 的构造函数时才有效。
new ProcessBuilder("cmd", "/c", "Start", "/wait", "batchTest.bat");