Java - 将命令执行到批处理文件中

时间:2012-03-22 21:08:15

标签: java process batch-file command runtime

我创建了一个java脚本,它使用runtime.exec()来执行批处理文件,并且工作正常,但是当我得到输出流并使用write()函数时,它不会执行我输入的命令它

Runtime runtime = Runtime.getRuntime();
Process p;
p = runtime.exec("cmd /c start batchfile.bat");     
out = p.getOutputStream();
out.write("command".getBytes());

Runtime runtime = Runtime.getRuntime(); Process p; p = runtime.exec("cmd /c start batchfile.bat"); out = p.getOutputStream(); out.write("command".getBytes());

它显示批处理文件但不运行命令,是否有另一种方法在运行批处理文件的cmd中输入命令,以便显示它?

2 个答案:

答案 0 :(得分:0)

使用start命令,将打开一个单独的命令窗口,并在那里显示批处理文件的任何输出。它也应该只用作cmd / c build.bat,在这种情况下,如果需要,你可以用Java读取子进程的输出。

答案 1 :(得分:-1)

您正在写入输出流。我认为你的意思是写入输入流。

试试这个:

Runtime runtime = Runtime.getRuntime();
Process p;
p = runtime.exec("cmd /c start batchfile.bat");     
in = p.getInputStream();
in.write("command".getBytes());