Можно ли открыть командную строку (и, я думаю, любой другой терминал для других систем), и выполнить команды во вновь открывшемся окне?
В настоящее время у меня есть следующее:
Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});
Я попытался добавить следующую команду после "start", я попытался запустить еще один rt.exec, содержащий мою команду, но я не могу найти способ заставить его работать.
Если это имеет значение, я пытаюсь запустить команду, подобную этой:
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, который содержит его ресурсы.