java - 使用 Java,在同一个 cmd.exe 窗口中运行多个命令

标签 java windows cmd runtime

我正在开发一个偶尔会在 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/

相关文章:

windows - 为什么尾随反斜杠后跟引号在 cmd 中表现如此奇怪?

java - 如果他的列表满足条件,如何使用 Collection remove?

windows - 将具有特殊字符的参数从一个批处理文件发送到另一个批处理文件

c# - 我想创建一个安装在远程服务器上的应用程序安装程序

c# - 如何在 Windows.Forms.PictureBox 中正确显示 Kinect 视频流?

Windows CMD 使用转义序列写入文件

java - 在 Java 中启动连接的 telnet cmd 窗口

java - ReSTLet如何解码HTTP基本认证中的secret

java - org.xml.sax.SAXParseException;行号 : 17; columnNumber: 61; Attribute "value" must be declared for element type "property"

java - 如何将 int 数组的运算结果转换为 double?