使用 java 在 cmd 中执行多个命令
execute multiple commands in cmd using java
我需要使用 java.
在单个 cmd window 中执行多个注释
评论是
1. cd C:\Apps\wildfly-8.0.0.Final\bin
2. jboss-cli.bat --connect --command=\"deploy --force C:\Users\me\git\test\Test\build\libs\TestEAR.ear
因为我需要执行文件夹"C:\Apps\wildfly-8.0.0.Final\bin"中的第二个命令。
我试过了:
Runtime.getRuntime().exec("cmd /c start cd C:\Apps\wildfly-8.0.0.Final\bin\ && start cmd.exe /c jboss-cli.bat --connect --command=\"deploy --force C:\Users\me\git\test\Test\build\libs\TestEAR.ear\"");
但是它是分开执行这些命令的,也就是说它会打开一个命令 window 并执行第一条命令,然后它会在另一个命令 window 中执行第二条命令,并显示错误:
Could not locate "C:\Users\me\git\test\Test\build\libs\TestEAR.ear".
Please check that you are in the bin directory when running this script.
Press any key to continue . . .
我找到了一些使用批处理文件的解决方案,但是在我的应用程序中我不能使用批处理文件(一定不能使用批处理文件)。
谁能提出解决方案?
如果我理解你的问题,你可以使用 ProcessBuilder
and call directory(File)
。像
public static void main(String[] args) throws IOException {
String folder = "C:\Apps\wildfly-8.0.0.Final\bin";
String command = "jboss-cli.bat --connect --command=\"deploy --force "
+ "C:\Users\me\git\test\Test\build\libs\TestEAR.ear\"";
ProcessBuilder pb = new ProcessBuilder(command);
pb.directory(new File(folder));
pb.inheritIO();
Process p = pb.start();
try {
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
我需要使用 java.
在单个 cmd window 中执行多个注释评论是
1. cd C:\Apps\wildfly-8.0.0.Final\bin
2. jboss-cli.bat --connect --command=\"deploy --force C:\Users\me\git\test\Test\build\libs\TestEAR.ear
因为我需要执行文件夹"C:\Apps\wildfly-8.0.0.Final\bin"中的第二个命令。
我试过了:
Runtime.getRuntime().exec("cmd /c start cd C:\Apps\wildfly-8.0.0.Final\bin\ && start cmd.exe /c jboss-cli.bat --connect --command=\"deploy --force C:\Users\me\git\test\Test\build\libs\TestEAR.ear\"");
但是它是分开执行这些命令的,也就是说它会打开一个命令 window 并执行第一条命令,然后它会在另一个命令 window 中执行第二条命令,并显示错误:
Could not locate "C:\Users\me\git\test\Test\build\libs\TestEAR.ear".
Please check that you are in the bin directory when running this script.
Press any key to continue . . .
我找到了一些使用批处理文件的解决方案,但是在我的应用程序中我不能使用批处理文件(一定不能使用批处理文件)。
谁能提出解决方案?
如果我理解你的问题,你可以使用 ProcessBuilder
and call directory(File)
。像
public static void main(String[] args) throws IOException {
String folder = "C:\Apps\wildfly-8.0.0.Final\bin";
String command = "jboss-cli.bat --connect --command=\"deploy --force "
+ "C:\Users\me\git\test\Test\build\libs\TestEAR.ear\"";
ProcessBuilder pb = new ProcessBuilder(command);
pb.directory(new File(folder));
pb.inheritIO();
Process p = pb.start();
try {
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}