【问题标题】:Executing cmd.exe commands from Java从 Java 执行 cmd.exe 命令
【发布时间】:2024-01-23 17:12:02
【问题描述】:

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

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

我正在尝试运行这样的命令:

Runtime.getRuntime().exec(command);

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

【问题讨论】:

    标签: java windows cmd


    【解决方案1】:

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

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

    cmd.exe /c echo hello
    

    【讨论】: