从 Java 执行 cmd.exe 命令

2022-09-02 20:30:27

我正在尝试从用户那里读取一个文件,其中每行都是一个命令,然后运行它(可以假设这些命令是合法的),但是当我给出类似,的命令时,我得到运行时异常错误:cmd.exeecho hi

线程“main”java.io.IOException中的异常:无法运行程序“echo”:CreateProcess error=2,系统找不到指定的文件

我正在尝试运行如下命令:

Runtime.getRuntime().exec(command);

哪里。这确实适用于这样的命令,所以看起来我得到的运行时就像“运行”窗口,而不是cmd。有没有办法运行这些命令?command = "echo hi"regedit


答案 1

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

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

cmd.exe /c echo hello

答案 2

推荐