Выполнение команд cmd.exe из Java - PullRequest
15 голосов
/ 27 октября 2010

Я пытаюсь прочитать файл от пользователя, в котором каждая строка является командой cmd.exe, и запустить ее (можно предположить, что команды являются допустимыми), но когда я даю команду типа echo hi , Я получаю ошибку исключения во время выполнения:

Исключение в потоке "main" java.io.IOException: не удается запустить программу "echo": ошибка CreateProcess = 2, система не может найти указанный файл

Я пытаюсь запустить такие команды:

Runtime.getRuntime().exec(command);

, где command = "echo hi". Это работает для таких команд, как regedit, поэтому кажется, что время выполнения, которое я получаю, похоже на окно "run", а не на cmd. Есть ли способ выполнить эти команды?

1 Ответ

29 голосов
/ 27 октября 2010

Это потому, что echo не является внешней исполняемой командой (т. Е. На вашем жестком диске нет файла echo.exe, если вы не положите его туда самостоятельно).Это внутренняя команда оболочки.

Вы, вероятно, обнаружите, что вам нужно выполнить что-то вроде:

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