Я только начинал здесь в SO, так что не мог upvote ответ @Franci Penov как правильно:
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
или просто,
rt.exec("cmd.exe /C build.bat");
не должен принести командную строку. build.bat
будет выполняться без головы.
Предположим, вы хотите, чтобы открыть окно командной строки, а build.bat
это работает (так что вы можете увидеть выход прямо из командной строки вместо обработки его позже), и хотите командной строки, чтобы уйти после того, как build.bat
закончили выполнение, вы можете использовать следующее:
rt.exec("cmd.exe /C start cmd.exe /C batch.bat");
start
начинается (видимый) окно командной строки для обработки и отображения вывода cmd.exe /C batch.bat
. Если у вас есть pause
в конце вашего batch.bat
, то все, что вам нужно сделать, это нажать клавишу, и командная строка исчезнет без необходимости вводить exit
в окне подсказки, чтобы закрыть ее.
Возможно, это не то, что вам нужно, но я искал SO, но потом сам выяснил решение. Просто чтобы поделиться им.
Я пробовал это. С этой опцией сборка не выполняется. –
Да, интересно. Если это так, я подозреваю, что это что-то с вашим файлом bat. 'START', по сути, породит новый cmd.exe-процесс (который не выходит), а'/C' выйдет из того, который вы породили. Вы можете попробовать добавить некоторые записи в пакетный файл и посмотреть, как далеко он продвигается. –