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

sin*_*ge3 1 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.这可能吗?

AJJ*_*AJJ 6

这个工作...使用&&运算符,您可以添加一个或在同一命令提示符中执行的命令

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();
    } 
Run Code Online (Sandbox Code Playgroud)

考虑该解决方案在这里

来自提问者的更新:在cygwin中执行命令的解决方案

getRuntime().exec("cmd /c start C:/cygwin64/bin/bash.exe --login -c \"ls ; whoami ; exec bash\"");
Run Code Online (Sandbox Code Playgroud)