我尝试
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");
我总是遇到相同的错误...
答案 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();