在 java 中执行多个命令行

Execute mutli command lines in java

我需要一个多命令来将 CMD 带到 运行 所在光盘的根目录。

USB 上的结构是这样的

\data
\data\commands
\Java
\Java\bin
App.jar
App.bat

这是 "event" 的样子:

 String command = "cmd /c  cd\data\commands && wscript \"invisible.vbs\" \"Ready2Go.bat\"";
    try { 

        Process p = Runtime.getRuntime().exec(command);

    } catch (Exception e) {
        e.printStackTrace();
    }    

当 运行 宁 App.jar 文件和 "using" java 安装在它自己的计算机上时,这非常有效。

但是当我尝试使用我安装在 USB 上的 java 来 运行 它时,它不起作用。 (guide to install java on usb

app.bat 文件:

set Path=\Java\bin;%%Path%%
java -jar app.jar

所以我需要一个命令来离开 \java\bin 目录。 (因为它是从那里开始的,我认为程序现在是 运行ning)然后是 运行 我的命令。

我试过了:

"cmd /c cd\ && cd\data\commands && wscript \"invisible.vbs\" \"Ready2Go.bat\"

但运气不佳。 我真的希望你明白我的意思

像这样写一个启动批处理 start.bat

@echo off

rem change to this batch's folder
pushd "%~dp0"

set Path="%~dp0\Java\bin";%%Path%%
set JAVA_HOME=%~dp0\Java
java -jar App.jar

popd

并执行为 \data\commands\start.bat

从 java 设置进程的当前路径是使用 ProcessBuilder 和设置 directory-属性 完成的。在此处查看示例

How to set working directory with ProcessBuilder