Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开cmd提示符并执行命令java_Java_Cmd_Prompt - Fatal编程技术网

打开cmd提示符并执行命令java

打开cmd提示符并执行命令java,java,cmd,prompt,Java,Cmd,Prompt,我能够使用以下代码从Java程序打开命令提示符: String cmd = "C:\\WINNT\\system32\\cmd.exe /c start"; try { @SuppressWarnings("unused") Process ps = Runtime.getRuntime().exec(cmd); } catch (IOException e) { e.printStackTrace(); } 上面的代

我能够使用以下代码从Java程序打开命令提示符:

String cmd = "C:\\WINNT\\system32\\cmd.exe /c start";


    try {
        @SuppressWarnings("unused")
        Process ps = Runtime.getRuntime().exec(cmd);
    } catch (IOException e) {
        e.printStackTrace();
    }
上面的代码将打开命令提示符

如果我想在这个打开的命令提示符中执行一些命令,我必须做什么


感谢您的帮助

我知道
cmd/k[其他一些命令]
将在命令提示符下运行该命令,但它只运行一个命令,因此这是一个有限的解决方案

我认为您的方向是正确的。要执行某些命令或多个命令,请重复
cmd/k[command]
,如下所示:-

// write dir output to file
Runtime.getRuntime().exec(new String[] {
        "cmd",
        "/k",
        "dir",
        ">",
        "c:\\output.txt"
});

// create test-dir folder in c:\
Runtime.getRuntime().exec(new String[] {
        "cmd",
        "/k",
        "mkdir",
        "c:\\test-dir"
});

您不应该使用单字符串形式的
exec()
,您应该始终使用
exec(String[]cmdarray)
,否则当exec“神秘地”失败时,您最终会感到惊讶。exec()不是命令解析器,引用/转义内容(如文件名中的空格)不起作用<代码>字符串[]cmd={“C:\\WINNT\\system32\\cmd.exe”、“/C”、“start”}cmd/k。如果您想以用户身份使用命令提示符,您应该能够像往常一样单击命令提示符并键入命令。谢谢limc,但我不想看到其他命令在打开的控制台中执行。那有可能吗。。如果我们使用ProcessBuilder呢