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

时间:2019-04-11 15:49:30

标签: java windows

我尝试

ProcessBuilder().command("C:\\Windows\\System32\\sc.exe query power");

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

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

我总是遇到相同的错误...

1 个答案:

答案 0 :(得分:1)

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

由于C:\Windows\System32目录应该位于系统PATH中,因此应该足以完成此操作。

ProcessBuilder pb = new ProcessBuilder("sc.exe", "query", "power");
Process p = pb.start();
int result = p.waitFor();