2010-10-27 4 views
13

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

Exception in thread "main" java.io.IOException: Cannot run program "echo": CreateProcess error=2, The system cannot find the file specified

Я пытаюсь выполнить команды, как это:

Runtime.getRuntime().exec(command); 

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

ответ

24

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

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

cmd.exe /c echo hello 
Смежные вопросы