如何使用Java 运行 Startup 目录中的bat 文件?

How to run a bat file in Startup directory with Java?

我尝试了以下两种方法:

Runtime.getRuntime().exec("cmd.exe /c C:/Users/USER/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/MyApp.bat");

Runtime.getRuntime().exec("cmd.exe /c \"C:/Users/USER/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/MyApp.bat\"");

它们都没有工作,第一个没有任何错误消息,第二个有以下错误消息:

java.io.IOException: Cannot run program "cmd.exe /c C:/Users/USER/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/MyApp.bat": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)

MyApp.bat在启动目录里,我可以运行手写。

从我的 Java 应用程序 运行 它的正确方法是什么?

打开计算机上的任何文件 - 桌面 class 非常适合。实施方式如下:

import java.awt.*;
import java.io.*;
public class OpenBat {
    public static void main(String[] args) throws IOException {
        Desktop desktop = Desktop.getDesktop();
        File bat = new File("C:/Users/USER/" +
        "AppData/Roaming/Microsoft/Windows/Start " + 
        "Menu/Programs/Startup/MyApp.bat");

        desktop.open(bat);

    }
}

好的,我明白了,它是:

Runtime.getRuntime().exec("cmd /C start \"\" \"C:/Users/USER/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/MyApp.bat\"");