在 Java 应用程序中运行批处理文件
在 Java 中,执行启动诸如“scons -Q隐式 deps-changed”之类的操作的批处理文件buildfile_load_type exportfile_load_type”似乎具有挑战性。
挑战批处理文件
批处理文件本质上不是可执行的,需要应用程序来执行它们,例如 Windows 上的 cmd。与使用 shebang (#!) 指定执行程序的 UNIX 脚本文件不同,批处理文件缺乏这种机制。
Java 执行尝试
您的初始 Java 代码,其中尝试使用“Runtime.getRuntime().exec("build.bat", null, new File("."))”执行批处理文件不会成功,因为它假设可以直接执行。
解决方案:利用cmd
克服这个挑战的关键是使用cmd命令来执行批处理文件。下面是更正后的 Java 代码:
Runtime.getRuntime().exec("cmd /c start \"\" build.bat");
通过在命令开头添加“cmd /c start "" ",您可以调用执行批处理文件的命令窗口。开始“”参数创建一个带有空白标题的单独命令窗口来显示任何输出。或者,使用不带 start "" 的“cmd /c build.bat”会省略单独的命令窗口,并允许在 Java 中读取输出。
实施此更改应该使您的 Java 应用程序能够成功触发批处理的执行文件并执行所需的操作。
以上是如何从 Java 应用程序运行批处理文件?的详细内容。更多信息请关注PHP中文网其他相关文章!