Как закрыть командные окна с помощью Java
-
03-07-2019 - |
Вопрос
Каждый раз, когда я использую 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, кто знает).