Невозможно закрыть командную строку после выполнения командного файла с использованием Java - PullRequest
1 голос
/ 07 января 2011

Я вызываю файл build.bat, используя эту

rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"});

В этой строке открывается командная строка.Сборка прошла успешно, но окно остается открытым.Как мне это закрыть?Попытался уничтожить процесс и другие методы System.ext.бесполезно

Ответы [ 6 ]

2 голосов
/ 07 января 2011

Вам не нужно использовать start /MIN в своих аргументах. Вы пробовали это?

rt.exec(new String[]{"cmd.exe","/C","build.bat"});
1 голос
/ 29 мая 2015

Я только начинаю здесь, в SO, поэтому не могу перефразировать ответ @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, но потом сам нашел решение.Просто чтобы поделиться этим.

1 голос
/ 07 июня 2013
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");
1 голос
/ 07 января 2011

в конце файла bat добавьте exit, также не нужно добавлять cmd, вперед вы можете напрямую выполнить bat

0 голосов
/ 26 ноября 2013

Это исправление , которое я обнаружил в StackOverflow для закрытия командной строки после выполнения программы с использованием пакетного файла.

Вместо: запустите "некоторый путь к программе"

сделать это: запустить "" "некоторый путь к программе"

У меня работает под Windows XP.

0 голосов
/ 22 марта 2012

Просто обновите ваш пакетный файл (.bat) новой строкой и введите эту новую строку: exit.

...