使用Java ProcessBuilder执行Windows批处理文件始终返回退出代码0

时间:2014-10-15 09:20:20

标签: java windows processbuilder

我尝试执行批处理文件并从Windows 7 Enterprise 64位中获取错误代码。

我的批处理文件是c:\ test.cmd并包含一行: -

exit 1

我执行批处理文件的代码是: -

public static void main(String[] args) throws Exception {
       Process process = new ProcessBuilder("c:\\test.cmd").start();
       System.out.println(process.waitFor());
}

输出为零。如果我尝试: -

new String[] {"cmd", "/c", "c:\\test.cmd"}

结果再次为零。

对于我缺少的ProcessBuilder API来说,似乎没什么大不了的。任何人都可以看到我的代码出错了吗?

我不能捕获批处理文件的退出代码吗?

1 个答案:

答案 0 :(得分:0)

我认为我的电脑存在错误(或不同)。在捕获返回代码时,我下载的Apache Commons Exec项目源代码失败了单元测试。看起来在我的电脑上无法解决,并且没有找到解决方法。