从 Java 运行 CMD 命令
正如您所发现的,从 Java 程序中执行 CMD 命令可能是一项棘手的任务。虽然网上有大量代码片段,但理解它们可能很困难。
让我们首先解决打开 CMD 提示符的目标:
public void excCommand(String new_dir){ Runtime rt = Runtime.getRuntime(); try { rt.exec(new String[]{"cmd.exe","/c","start"}); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
此代码成功打开了CMD提示。要在运行命令之前更改为不同的目录,您需要修改传递给 rt.exec() 的命令。
例如,更改为目录“C:Program FilesFlowella”,然后运行“dir " 命令,使用以下代码:
ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && dir"); builder.redirectErrorStream(true); Process p = builder.start();
cd 命令用于更改目录,&&运算符确保仅在目录更改成功时才执行 dir 命令。 redirectErrorStream(true) 方法将标准输出和错误流合并为一个流,以便于处理。
最后,读取进程的标准输出可以让您在控制台上显示目录内容。
以上是如何从 Java 程序中运行 CMD 命令并更改目录?的详细内容。更多信息请关注PHP中文网其他相关文章!