0

好的,所以我已经环顾了一段时间,但我无法弄清楚我的程序出了什么问题。我正在尝试制作一个类似 cmd.exe 的程序。一个命令应该启动位于 C:/Windows/System32 中的 msconfig.exe。但它给了我一个 java.io.IOException:

java.io.IOException: Cannot run program "C:/Windows/System32/msconfig.exe": CreateProcess error=2, The system cannot find the file specified

这是我的代码:

    public static void msconfig() {
    try {
        Runtime rt = Runtime.getRuntime();
        Process process = rt.exec("C:/Windows/System32/msconfig.exe");
        InputStream in = process.getInputStream();
        OutputStream out = process.getOutputStream();
        InputStream err = process.getErrorStream();
    } catch (IOException e) {
        Console.printToConsole("Could not launch msconfig.exe");
        e.printStackTrace();
    } finally {
        Console.printToConsole("Successfuly launched msconfig.exe");
    }
}

编辑: 所以我用 Eclipse 导出了应用程序,现在它工作正常!谢谢所有试图帮助我的人:)

4

2 回答 2

3

Windows 计算机上的路径使用反斜杠作为分隔符。采用:

Process process = rt.exec("C:\\Windows\\System32\\msconfig.exe");

只是为了完整起见,反斜杠需要加倍,因为它们是转义字符,需要自己转义。

于 2012-05-03T16:11:21.787 回答
1

您正在使用“错误”的反斜杠。windows路径与\一起使用

尝试路径 c:\windows\system32\msconfig.exe

于 2012-05-03T16:10:54.100 回答