我尝试了以下两种方法:
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
位于 Startup 目录中,我可以手动运行它。
从我的 Java 应用程序运行它的正确方法是什么?
最佳答案
对于打开计算机上的任何文件 - Desktop 类非常适合。下面是它的实现方法:
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);
}
}
关于java - 如何使用Java运行启动目录中的bat文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28006941/