我们如何从Java执行批处理文件

我们如何从Java执行批处理文件,java,process,batch-file,runtime.exec,Java,Process,Batch File,Runtime.exec,我需要从Java程序中执行一个批处理文件。我找到了多个与此查询相关的线程。 除了上述信息,我还需要知道该操作是否成功执行。是否可以从Java中获取该操作的句柄?Runtime.exec()和ProcessBuilder.start()都返回一个进程对象 这样,就可以使用Process.getExitValue()。也就是说,我不知道shell的退出值是否与脚本的相同。Runtime.exec()和ProcessBuilder.start()都返回一个进程对象 这样,就可以使用Process.g

我需要从Java程序中执行一个批处理文件。我找到了多个与此查询相关的线程。

除了上述信息,我还需要知道该操作是否成功执行。是否可以从Java中获取该操作的句柄?

Runtime.exec()和ProcessBuilder.start()都返回一个进程对象

这样,就可以使用Process.getExitValue()。也就是说,我不知道shell的退出值是否与脚本的相同。

Runtime.exec()和ProcessBuilder.start()都返回一个进程对象


这样,就可以使用Process.getExitValue()。也就是说,我不知道shell的退出值是否与脚本的退出值相同。

使用java.lang.ProcessBuilder创建对批处理文件的调用。Process对象将允许您监视批处理文件的输出和退出代码。非零退出代码通常表示失败。

使用java.lang.ProcessBuilder创建对批处理文件的调用。Process对象将允许您监视批处理文件的输出和退出代码。非零退出代码通常表示失败。

您应该签出

我极力推荐。它可能会回答你接下来的4-5个问题

你应该退房


我极力推荐。它可能会回答你接下来的4-5个问题

你真的应该检查一下。它将帮助您从批处理文件中获取输出,设置超时,甚至创建命令行。

您真的应该检查一下。它将帮助您从批处理文件中获取输出,设置超时,甚至创建命令行。

我试过了。但是我在线程“main”java.lang.IllegalThreadStateException中得到了以下异常:进程没有在com.mt.test.TestClass2.main(TestClass2.java:13)的java.lang.ProcessImpl.exitValue(本机方法)处退出。我认为这个线程应该解决我的问题,具体地说,就是方法waitFor()。我试过了。但是我在线程“main”java.lang.IllegalThreadStateException中得到了以下异常:进程在com.mt.test.TestClass2.main(TestClass2.java:13)的java.lang.ProcessImpl.exitValue(本机方法)处没有退出。我认为这个线程应该解决我的问题,具体地说,方法waitFor()我认为这条线应该解决我的问题我认为这条线应该解决我的问题