Java - Выполнение команд в командный файл - PullRequest
0 голосов
/ 23 марта 2012

Я создал java-скрипт, который использует runtime.exec () для выполнения командного файла, и он работает нормально, но когда я получаю выходной поток и использую функцию write (), он не выполняет команду, которую я поместил вit.

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

Отображает пакетный файл, но не запускает команду, есть ли другой способ ввода команды в запущенный cmdкомандный файл, чтобы он отображал его?

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

С помощью команды запуска откроется отдельное командное окно, и все выходные данные из командного файла будут отображены там. Он также должен работать как cmd / c build.bat, и в этом случае вы можете при желании прочитать вывод подпроцесса в Java.

0 голосов
/ 23 марта 2012

Вы пишете в выходной поток.Я думаю, что вы хотите записать в поток ввода.

Попробуйте это:

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