用Java执行windows命令

时间:2017-03-10 07:05:09

标签: java windows powershell runtime.exec

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

尝试过:Runtime.getRuntime().exec(cmd);但如果我们有 |,我们就无法做到这一点(管道)在我们的命令中。

我找到了linux命令,我们可以像: String[] cmd = {"/bin/sh", "-c", "grep -c 'Report Process started' /path/to/server.log"}; Runtime.getRuntime().exec(cmd); 但我需要窗户,请让我知道我们该怎么做?

2 个答案:

答案 0 :(得分:1)

您应该只运行netstat -n并在java中完成剩下的工作。您还可以编写脚本,并执行脚本而不是单独的命令。如果您真的需要在一行中使用管道执行所有操作,则命令必须以cmd /C为前缀

答案 1 :(得分:0)

在Windows中我们可以实现这一点:

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