从Java执行cmd.exe命令

我正在尝试从用户读取一个文件,其中每一行都是一个cmd.exe命令,并运行它(可以假定这些命令是合法的),但是当我给出一个像echo hi这样的命令时,我得到运行时异常错误:

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);

where command =“echo hi”.这对于像regedit这样的命令是有效的,所以看起来我得到的运行时就像“运行”窗口而不是cmd.有没有办法运行这些命令?

这是因为echo不是外部可执行命令(即硬盘上没有echo.exe文件,除非你自己放在这里).它是shell的内部命令.

您可能会发现需要执行以下操作:

cmd.exe /c echo hello
相关文章
相关标签/搜索