在 Java 中执行 windows 命令

Execute windows command in Java

需要运行 netstat -n |找到“:3389” |使用 Java 运行时查找 "ESTABLISHED" 命令。

试过:Runtime.getRuntime().exec(cmd); 但如果我们有 | 就不能这样做了| (管道) 在我们的命令中。

我发现 linux 命令我们可以像这样构建: String[] cmd = {"/bin/sh", "-c", "grep -c 'Report Process started' /path/to/server.log"}; Runtime.getRuntime().exec(cmd); 但我需要 windows,请告诉我我们该怎么做?

您应该 运行 仅 netstat -n,其余的在 java 中完成。您还可以编写脚本,然后执行脚本而不是单独的命令。如果你真的需要在有管道的单行中完成所有操作,命令必须以 cmd /C

为前缀

在Windows中我们可以这样实现:

String[] cmd = { "cmd.exe", "/c",
                    "netstat -n | find \":3389\" | find \"ESTABLISHED\"" };
Process process = new ProcessBuilder(cmd).start();