我正在尝试能够在Windows上从Windows输入命令到命令提示符。我使用processBuilder,打开命令提示符,并获取输出流,但是当我尝试写入时,似乎没有任何事情发生。我是否需要包含其他内容,或者我是否认为这一切都错了?
我知道我可以在最初启动时将包含命令的参数传递到命令提示符,但我的目标是能够先打开窗口,然后与它进行交互 second ,而不是在同一时间。
我的代码:
ArrayList<String> commands = new ArrayList<>();
commands.add("cmd.exe");
commands.add("/c");
commands.add("start");
ProcessBuilder pb = new ProcessBuilder(commands);
Process p = pb.start();
BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
stdin.write("dir");
stdin.newLine();
stdin.flush();
我试过搜索,但我没有找到任何满意的答案。这段代码是我从该搜索中拼凑起来的代码。 我的最终目标是能够为youtube-dl编写用户界面,这是一个命令行程序,因此我可以获得更多这方面的经验。我希望用户能够从多个选项中选择,然后根据他们的选择执行程序。
答案 0 :(得分:-1)
我正在尝试手动执行youtube-dl事情,因为youtube dl事情是使用大量CMD命令的自动脚本。
返回主题,使用:
Runtime.getRuntime().exec()