【发布时间】:2023-03-03 20:17:01
【问题描述】:
我正在尝试从我的 java 应用程序运行命令。我从用户那里得到输入并运行这行代码:Runtime.getRuntime().exec($userInput);。我尝试了很多简单的命令,包括“echo”、“start chrome”和“rem”。似乎唯一有效的命令是“cmd.exe”,我什至不知道它的作用。
诸如“echo”之类的命令会产生这个错误:
java.io.IOException: Cannot run program "echo": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at me.Draconwolver.Main.runCmd(Main.java:119)
at me.Draconwolver.Main.main(Main.java:34)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more
请随时向我询问更多详情。
【问题讨论】:
-
"echo" 是 DOS shell 的命令,它不直接属于 Windows 本身。您的 Java 需要运行“cmd”,并让 cmd 执行“echo”。您可以在此处找到更多详细信息:java2s.com/Questions_And_Answers/Java-File/batch-File/…
标签: java batch-file ioexception createprocess