Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск shell команды / 5 сообщений из 5, страница 1 из 1
02.11.2014, 00:07
    #38794069
Edgar_Prima
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск shell команды
Всем доброй ночи, в сети полным полно инфы, как запустить батник из-под приложений java, при этом крайне мало пишут как
запустить сразу сам команду без батника. Подскажите, плиз
...
Рейтинг: 0 / 0
02.11.2014, 00:26
    #38794078
Edgar_Prima
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск shell команды
Давайте сразу пример укажу, что мне необходимо выполнить, нужно снять оракловый дамп
exp userid="<user>/<pass>@<sid> file=C:=1.dmp"

Я вообще так пробовал
String login;
String pass;
String sid;
String file;
try {
Process p = Runtime.getRuntime().exec("cmd /C exp userid=" + q + login + "/" + pass + "@" + sid + q + " file=C:\\1.dmp");
} catch (Exception e) {
e.printStackTrace();
}

Запускаю и ничего не происходит абсолютно, даже ошибок нет
...
Рейтинг: 0 / 0
02.11.2014, 03:57
    #38794112
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск shell команды
Test.java
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
package test;

public class Test
{
  static final Runtime rt = Runtime.getRuntime();
  public static void main(String[] args)
  {
    int code = 0;
    try { if (0 < args.length) code = Integer.parseInt(args[0]); }
    catch (NumberFormatException e) { code = -1; }
    String cmd = "cmd.exe";
    if (1 < args.length) cmd = args[1];
    try {
      Process pr = rt.exec(cmd + " /cexit " + code);
      pr.waitFor();
      System.out.println(pr.exitValue());
    }
    catch (Exception e) { System.err.println(e.getMessage()); }
  }
}

Код: plaintext
1.
2.
3.
4.
java test.Test ? ?
Cannot run program "?": CreateProcess error=2, ?? ??????? ????? ????????? ????

net helpmsg 2
Не удается найти указанный файл.

Как нетрудно видеть, число вопросиков после запятой совпадает с числом буковок сообщения об ошибке.
...
Рейтинг: 0 / 0
02.11.2014, 04:04
    #38794114
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск shell команды
Edgar_Prima,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
ProcessBuilder cmd = new ProcessBuilder("cmd.exe", "/c", "DIR");
cmd.redirectErrorStream(); // stderr -> stdout
Process p = cmd.start();
p.waitFor(); // ожидаем завершения процесса
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); // читаем из stdout процесса
while (br.ready()) {
    System.out.println(br.readLine()); // построчно
}
br.close();
...
Рейтинг: 0 / 0
02.11.2014, 23:48
    #38794445
Edgar_Prima
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск shell команды
Usman,

Большое спасибо, помогло!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск shell команды / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]