当前位置: 首页 > 面试题库 >

如何从Java应用程序运行批处理文件?

颜鸿云
2023-03-14
问题内容

在我的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资源管理器执行的。 CreateProcess对此一无所知。

Runtime.
   getRuntime().
   exec("cmd /c start \"\" build.bat");

注意:使用该start \"\"命令,将打开一个单独的命令窗口,标题标题为空白,并且批处理文件的所有输出都将显示在该窗口中。它也应该只与“ cmd / c build.bat”一起使用,在这种情况下,如果需要,可以从Java子进程中读取输出。



 类似资料:
  • 在我的Java应用程序中,我想运行一个批处理文件,该批处理文件调用“” 似乎我甚至不能让我的批处理文件执行。我没主意了。 这是我用Java写的: 以前,我有一个我想运行的Python Sconscript文件,但由于它不起作用,我决定通过批处理文件调用脚本,但该方法尚未成功。

  • 当我运行这段代码时,我只得到命令提示。。bat文件没有运行。如何使用这段代码执行批处理文件? 提前致谢

  • 我想使用java程序运行一个批处理文件,当我双击. bat文件时,它要求我输入“D”,然后在C驱动器中创建一些文件夹,以下是. bat文件的内容: 我的Java代码如下: 它没有给我任何错误,但它既没有要求我输入任何值,也没有创建任何文件夹。 我想知道在java代码中我需要做什么,这样它会要求我输入' D ',然后输入。bat文件应该以正常流程继续。 感谢任何帮助。

  • 问题内容: 我想从Java程序执行批处理文件。 我正在使用以下命令。 但是问题是我想提供一个相对路径而不是绝对路径,以便我可以在任何组件上部署该Java项目。 项目的目录结构如下: 我想从“解析器”目录中的“ Main.java”文件中运行“ util”目录中的“ Server.bat”文件。 问题答案: 当Java运行时,您可以将Runtime.exec()与相对路径一起使用,相对方式是相对于当

  • 问题内容: 我正在尝试从Java可执行文件运行另一个目录中的批处理文件。我有以下代码: 结果是程序在运行该程序的根目录中打开一个cmd窗口,并且无法访问我提供的文件路径。 问题答案: 而不是,您需要使用方法签名: 但就我个人而言,我会改用,它稍微冗长一些,但比容易使用和调试。

  • 我试图从我的Java可执行文件运行另一个目录中的批处理文件。我有以下代码: 结果是,程序在运行程序的根目录中打开了一个cmd窗口,无法访问我提供的文件路径。