Можно ли открыть командную строку (и я предполагаю, что любой другой терминал для других систем) и выполнить команды во вновь открытом окне?
В настоящее время у меня есть следующее:
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, содержащий его ресурсы.