无法使用java中的参数执行.exe文件

时间:2014-03-03 19:00:55

标签: java windows batch-file runtime

我正在尝试执行.exe文件(Say abc.exe),我将从命令行执行:

C:\....pathtoExe>abc.exe /m param1

代码是:

                String cmd[]={"bin/ocr/abc.exe","/m",param1};
                Process p = Runtime.getRuntime().exec(cmd);
                p.waitFor();

请注意,bin / ocr / abc.exe是exe文件的相对路径,是正确的路径。 Hoewver当我得到输入流并尝试读取它时,我没有得到所需的输出(事实上我根本没有得到任何输出,因为inputStream什么都不返回)。 我还在同一目录(run.bat)中有一个批处理文件,代码如下:

abc.exe /m %1 > abc_out.txt

这可以从命令提示符执行:

C:\...pathtobat>run.bat param1

那么如何执行以上批处理文件,该文件从命令提示符中获取参数?我的主要目标是从java正确运行.exe文件并获取从.exe文件返回的输出。

1 个答案:

答案 0 :(得分:0)

这应该有效:

String cmd[]= { "abc.exe", "/c", param1 };
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();