Как открыть командную строку и вставить команды с помощью Java?

Можно ли открыть командную строку (и я предполагаю, что любой другой терминал для других систем) и выполнить команды во вновь открытом окне?

В настоящее время у меня есть следующее:

Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});

Я пробовал добавить следующую команду после "start", я пробовал запустить другой rt.exec, содержащий мою команду, но не могу найти способ сделать это работает.

Если это важно, я m пытается запустить команду, подобную этой:

java -flag -flag -cp terminal-based-program.jar

EDIT К сожалению, я получил несколько странных результатов. Мне удалось успешно запустить командную строку и передать команду, используя это:

rt.exec("cmd.exe /c start command");

Однако, похоже, это работает только с одной командой. Потому что, если я попытаюсь использовать такой разделитель команд, как "cmd.exe / c start command & command2", вторая команда будет передана через фон (как если бы я просто использовал rt.exec ("command2");) . Теперь проблема в том, что я понял, что мне нужно изменить каталог, в котором запущена командная строка, потому что, если я просто использую полный путь к файлу jar, файл jar неправильно считывает данные из активного каталога командной строки, а не каталог jar, содержащий его ресурсы.

38
задан APerson 3 February 2016 в 02:54
поделиться