我正在开发一个偶尔会在 Windows 计算机上运行的 Java 应用程序。 在某些时候,我需要运行 Cygwin 提示符并在其中执行一些命令。
我找到了一个使用 Runtime 类的主题: http://www.javaquery.com/2011/03/how-to-execute-multiple-command-in.html
但是它不会启动真正的 cmd.exe 窗口,它仅在后台运行并且输出仅打印在 Eclipse 控制台上。
我正在寻找一种解决方案来运行真正的 cmd.exe 窗口,并且我需要向该 windows shell 传递尽可能多的命令。 这可能吗?
最佳答案
这个有效...使用 && 运算符,您可以添加一个或多个要在同一命令提示符下执行的命令
try {
Process p = Runtime
.getRuntime()
.exec("cmd /c start cmd.exe /K \"dir && ping localhost && echo end\"");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
考虑 here 中的解决方案还有
提问者更新:在cygwin中执行命令的解决方案
getRuntime().exec("cmd /c start C:/cygwin64/bin/bash.exe --login -c \"ls ; whoami ; exec bash\"");
关于java - 使用 Java,在同一个 cmd.exe 窗口中运行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24405681/