如何从Java执行批处理文件?

我想从Java程序执行批处理文件。

我正在使用以下命令。

Runtime.getRuntime().exec("server.bat");

但是问题是我想提供一个相对路径而不是绝对路径,以便我可以在任何组件上部署该Java项目。

项目的目录结构如下:

com

|

project

|

------ parser

| |_____ Main.java

|

-------util

|_____ Server.bat

我想从“解析器”目录中的“ Main.java”文件中运行“ util”目录中的“ Server.bat”文件。

回答:

当Java运行时,您可以将Runtime.exec()与相对路径一起使用,相对方式是相对于当前用户调用JVM的目录。

这可能有效

Runtime.getRuntime().exec("cmd.exe", "/c", "./com/projct/util/server.bat");

如果从com的父目录启动java。

否则您必须计算绝对路径:

Runtime.getRuntime().exec("cmd.exe", "/c", 

System.getProperty("user.dir")+"/com/projct/util/server.bat");

我忘记了,阅读Runtime.exec()不会。

以上是 如何从Java执行批处理文件? 的全部内容, 来源链接: utcz.com/qa/413364.html

回到顶部