Вопрос

Каждый раз, когда я использую Runtime.exec("cmd /c start....") Я открываю окно cmd.Я хотел бы создать более плавное приложение, закрывая каждое предыдущее окно cmd.Как я могу это сделать?

Если кто-нибудь знает лучший способ запустить серию команд в одном окне cmd вместо того, чтобы открывать новые каждый раз, когда я выполняю команду, пожалуйста, дайте мне знать.

Это было полезно?

Решение

Вы не можете управлять открытыми окнами с Java.Но я предлагаю вам два решения:

Первый:

Runtime.exec("cmd /c start /MIN ...")

Параметр /MIN предотвратит появление окон.

Второй:поместите все приложения, которые вы должны вызвать, в один и тот же пакетный файл и вызовите его один раз.:-)

Другие советы

Не используйте start, это открывает другое окно

Заменить:

Runtime.exec("cmd /c start....")

с помощью

Runtime.exec("cmd /c ....")

Зачем вам нужны окна cmd?

Я запускаю команду непосредственно в Java, собираю выходные данные и отображаю их в локальном окне (если это вообще необходимо).

Просто убедитесь, что вы используете весь вывод программы или она может зависнуть. Также не забудьте закрыть потоки stdout, stderr и stdin, иначе могут возникнуть утечки некоторых файловых дескрипторов (ну, это верно для некоторых JDK в некоторых ОС Unix ... Windows, кто знает).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top