java - 从 Java 执行 cmd.exe 命令

标签 java windows cmd

我试图从用户那里读取一个文件,其中每一行都是一个 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);

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

最佳答案

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

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

cmd.exe /c echo hello

关于java - 从 Java 执行 cmd.exe 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031390/

相关文章:

java - 常规编程: How do you return two Types of primitive ('int and ' string') from "get" method?

java - 初始化自定义类型数组

java - Android 渲染问题无法解析资源@string/app_name

c++ - 具有不存在的线程 ID 的 OpenThread

cmd - 从 cmd 获取激活 key 不起作用 - Win10

ant - 通过 psexec 在 cmd 中运行多个命令

java - 输入流/扫描仪中发出蜂鸣声

c++ - CreateProcessAsUser 返回错误代码 2

c++ - 使用 SendInput 函数模拟输入

.net - SVN 控制台 .NET 错误