Одна вложенная кавычка \ "для команды и имени файла, вторая кавычка \" для самого имени файла, для пробелов и т. Д., В частности, в имени.

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

В настоящее время у меня есть это:

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

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

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

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

РЕДАКТИРОВАТЬ К сожалению, у меня были странные результаты. Я был в состоянии успешно запустить командную строку и передать команду, используя это:

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

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

Ответы на вопрос(9)

Ваш ответ на вопрос