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