我正在尝试从java类打开命令提示符并将输出发送到新的命令提示符。
我可以使用process
打开cmd
。浏览了SO上的所有答案,但无法弄清楚如何将输出传递给刚刚创建的cmd
窗口。
答案 0 :(得分:4)
这可能不实用甚至无法使用,但它可以完成工作:
String[] command = {"cmd", "/c", "start", "cmd.exe"};
try {
new ProcessBuilder(command).start();
Robot r = new Robot();
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_H);
r.keyRelease(KeyEvent.VK_H);
r.keyRelease(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_E);
r.keyRelease(KeyEvent.VK_E);
r.keyPress(KeyEvent.VK_L);
r.keyRelease(KeyEvent.VK_L);
r.keyPress(KeyEvent.VK_L);
r.keyRelease(KeyEvent.VK_L);
r.keyPress(KeyEvent.VK_O);
r.keyRelease(KeyEvent.VK_O);
} catch (IOException | AWTException e) {
e.printStackTrace();
}
这会打开CMD并写入(有点太字面意思)" Hello"在CMD中。
如果要键入字符串,请参阅this answer。