如何使用java进程逐个执行windows命令

如何使用java进程逐个执行windows命令,java,Java,我需要使用nslookup命令检查DNS配置。下面的链接给出了正确的检查方法。 现在java中的实际问题是如何在同一个过程中一个接一个地执行命令,我必须捕获输出,并根据输出执行一些其他命令。下面给出了屏幕截图 执行像“nslookup someIpAdrs”这样的简单命令很容易。但这里的要求不同。首先,我们必须进入shell,在同一shell中,我必须执行命令 请告诉我如何在Java processBuilder中执行,或者是否有任何Java库要实现。您需要打开一个新的PrintWriter

我需要使用nslookup命令检查DNS配置。下面的链接给出了正确的检查方法。

现在java中的实际问题是如何在同一个过程中一个接一个地执行命令,我必须捕获输出,并根据输出执行一些其他命令。下面给出了屏幕截图

执行像“nslookup someIpAdrs”这样的简单命令很容易。但这里的要求不同。首先,我们必须进入shell,在同一shell中,我必须执行命令


请告诉我如何在Java processBuilder中执行,或者是否有任何Java库要实现。

您需要打开一个新的
PrintWriter
,其中包含执行原始命令的进程,并在那里打印参数

例如:

final Process p = Runtime.getRuntime().exec("nslookup");
final BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
final char[] buf = new char[20];
System.out.println(new String(buf, 0, in.read(buf)));
//Send next command here
new PrintWriter(p.getOutputStream(),true).println(<next command>);
final Process p=Runtime.getRuntime().exec(“nslookup”);
final BufferedReader in=新的BufferedReader(新的InputStreamReader(p.getInputStream());
最终字符[]buf=新字符[20];
System.out.println(新字符串(buf,0,in.read(buf));
//在这里发送下一个命令
新的PrintWriter(p.getOutputStream(),true.println();

然后,您可以刷新缓冲区,然后读取输出。

我已经浏览了这些站点。要求不一样,这里不同。首先应用命令“nslookup”,您将得到一个shell。然后在该shell中执行不同类型的命令并捕获输出,然后执行其他命令。