Команда запуска Java в окне УЖЕ РАБОТЫ CMD - PullRequest
1 голос
/ 06 июня 2011

Я создаю небольшую программу, чтобы убрать часть моей работы с помощью графического интерфейса.Сейчас у меня есть небольшая программа с кнопкой «Пуск», которая запускает приложение на основе CMD.Что мне нужно сделать, это ввести определенную команду в этом окне CMD.Я хочу добавить кнопку, которая заполняет эту команду для меня.

Это вообще возможно?

PS: CMD - командная строка Windows.

Спасибо всем.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2011

Это работает, если это внешняя команда:

String command = "cmd";   //Replace with your command
Runtime.getRuntime().exec(command);

Если это внутренняя команда, то она не будет работать, но есть обходной путь: создайте командный файл с командами в нем, ив качестве аргумента укажите строку с путем к пакетному файлу.

Runtime.getRuntime().exec("Temp.bat");

Или вы можете написать пакетный файл программно, используя этот метод:

private void batch(String commands){
  try{
    String filename = "Temp.bat";
    File f = new File(filename);
    PrintWriter writer = new PrintWriter(f);
    writer.print(commands);
    writer.close();
    Runtime.getRuntime().exec(filename);

    long x = getTime + 3000;
    do{
      //Wait
    }while(getTime < x);

    f.delete();
  }catch(Exception ex){
    ex.printStackTrace();
  }
}

private long getTime(){
  SimpleDateFormat datef = new SimpleDateFormat("yyyyDDDHHmmssSSS");
  Date date = new Date();
  return Long.parseLong("" + datef.format(date));
}
0 голосов
/ 06 июня 2011

Это зависит от того, как ваше приложение на основе CMD получает свои входные данные.

Если оно получает входные данные из входного потока окна CMD, в этой статье объясняется, как получить ссылку на входной поток и отправить сообщенияк нему: Java exec - выполнять системные процессы с помощью Java ProcessBuilder и Process .

Если в вашем окне CMD выполняется команда, которая не принимает ввод, и вы хотите выполнить другую команду,тогда я думаю, что вам придется запустить вторую команду в отдельном процессе CMD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...