从 Java 执行 cmd.exe 命令
Posted
技术标签:
【中文标题】从 Java 执行 cmd.exe 命令【英文标题】:Executing cmd.exe commands from Java 【发布时间】:2010-10-27 08:50:43 【问题描述】:我试图从用户那里读取一个文件,其中每一行都是一个cmd.exe
命令,然后运行它(可以假设这些命令是合法的),但是当我给出一个类似echo hi
的命令时,我得到运行时异常错误:
线程“main”java.io.IOException中的异常:无法运行程序“echo”:CreateProcess error=2,系统找不到指定的文件
我正在尝试运行这样的命令:
Runtime.getRuntime().exec(command);
在哪里command = "echo hi"
。这确实适用于像regedit
这样的命令,所以看起来我得到的运行时就像“运行”窗口而不是cmd。有没有办法运行这些命令?
【问题讨论】:
【参考方案1】:那是因为echo
不是外部可执行命令(即,您的硬盘上没有echo.exe
文件,除非您自己放在那里)。这是shell的内部命令。
您可能会发现您需要执行以下操作:
cmd.exe /c echo hello
【讨论】:
以上是关于从 Java 执行 cmd.exe 命令的主要内容,如果未能解决你的问题,请参考以下文章