在我的 Java 应用程序中,我想运行一个调用“scons -Q implicit-deps-changed build\file_load_type export\file_load_type
”的批处理文件
似乎我什至无法执行我的批处理文件。我没主意了。
这就是我在 Java 中所拥有的:
Runtime.
getRuntime().
exec("build.bat", null, new File("."));
以前,我有一个我想运行的 Python Sconscript 文件,但由于它不起作用,我决定通过批处理文件调用该脚本,但该方法尚未成功。
最佳答案
批处理文件不是可执行文件。他们需要一个应用程序来运行它们(即 cmd)。
在 UNIX 上,脚本文件在文件开头有 shebang (#!) 以指定执行它的程序。 Windows 中的双击由 Windows Explorer 执行。 CreateProcess
对此一无所知。
Runtime.
getRuntime().
exec("cmd /c start \"\" build.bat");
注意:使用 start\"\"
命令,将打开一个带有空白标题的单独命令窗口,并且批处理文件的任何输出都将显示在那里。它也应该只使用“cmd/c build.bat”,在这种情况下,如果需要,可以从 Java 中的子进程读取输出。
关于java - 如何从我的 Java 应用程序运行批处理文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/615948/