Java外部命令:未找到,createProcess errno=2

Java外部命令:未找到,createProcess errno=2,java,windows,Java,Windows,我试着 或 或 我总是遇到相同的错误…您应该将sc.exe的每个参数分别提交到ProcessBuilder以避免参数转义或引用问题。现在,您将整个命令作为单个字符串表达式,这会导致问题 因为C:\Windows\System32目录应该在系统路径中,所以应该足够了 ProcessBuilder().command("c:/windows/system32/sc query power"); 请仔细阅读ProcessBuilder的Javadoc(尤其是示例)。这不是有效的Java代码。您缺少使

我试着


我总是遇到相同的错误…

您应该将
sc.exe
的每个参数分别提交到
ProcessBuilder
以避免参数转义或引用问题。现在,您将整个命令作为单个
字符串
表达式,这会导致问题

因为
C:\Windows\System32
目录应该在系统
路径中,所以应该足够了

ProcessBuilder().command("c:/windows/system32/sc query power");

请仔细阅读
ProcessBuilder
的Javadoc(尤其是示例)。这不是有效的Java代码。您缺少使其有效的非常重要的
new
关键字。新关键字在这里,很抱歉部分粘贴。最后,我使用了
newprocessbuilder(“sc”、“query”、“power”)所以是的,它在路径中,是的,我认为这是最好的方法,因为jvm将“cmd arg1 arg2 etc…”解释为单个exe名称(因此带有空格),谢谢!
ProcessBuilder().command("c:/windows/system32/sc.exe query power");
ProcessBuilder().command("c:/windows/system32/sc query power");
ProcessBuilder pb = new ProcessBuilder("sc.exe", "query", "power");
Process p = pb.start();
int result = p.waitFor();