Windows 找不到 "run.bat" 文件,来自 Processing

Windows can not find "run.bat" file, from Processing

我正在尝试 运行 来自 Processing 的 bat 文件。但是即使bat文件在Processing文件的文件夹中,程序也找不到它。

我的代码是:

Runtime r = Runtime.getRuntime();
Process p1;
try {
  p1 = r.exec("cmd /c start run.bat");
}
catch(Exception c) {
}

我运行处理时出现的错误是:"Windows can not find "run.bat”文件。请确保名称拼写正确,然后重试。”

你能帮帮我吗?

您没有指定路径。除非你在注册表中注册了 run.bat App Paths 注册表项开始不知道它在哪里。

你必须告诉 windows 文件在哪里。

由于您是 运行 来自 cmd 的启动命令而不是直接来自 Java,因此您必须指定完整路径。您可以使用 System.getProperty("user.dir") 获取 Java 项目文件夹的路径。如果批处理文件位于项目文件夹的根目录中,您的代码将如下所示:

p1 = r.exec("cmd /c start " + System.getProperty("user.dir") + "run.bat");