首页 > 解决方案 > 在java中设置bat变量并执行/调用那个bat

问题描述

我的 java 类中有 3 个变量。我想在一个bat文件中设置这个变量,然后执行/调用那个bat。

在我用这个球棒进行那个过程之前

配置文件

set PM_Drive = Whatever
set SWG = Whatever
set TOMCAT_HOME = Whatever
call nextbat.bat 

nextbat.bat 需要这些变量才能工作。

我怎样才能在 java 中做到这一点,所以我不再需要config.bat了?

我尝试使用 ProcessBuilder 和 Runtime,但我无法弄清楚。也许有人可以帮助我。

这是我迄今为止的进步,显然不起作用。

    public void connectTOMCAT(String SWG, String PM_DRIVE, String TOMCAT_HOME) {
    String[] cmdline = {"cmd", "/c", "start cmd.exe", "set SWG", "set PM_DRIVE", "set TOMCAT_HOME" };
    try {;
        Runtime.getRuntime().exec(cmdline);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

标签: javabatch-file

解决方案


我不是批处理脚本方面的专家,但我想您的 BAT 文件包含对 JVM 的调用,如下所示

java -jar my_jar.jar

所以你可以像这样将你的变量作为参数传递

java -jar my_jar.jar my_first_arg my_second_arg

并在您的 java 程序中的 Main 方法中检索它们。

如果您想将这些变量作为 bat 调用的参数传递,我想您可以这样做:

java -jar my_jar.jar %1 %2

推荐阅读