每次我使用 Runtime.exec(" cmd / c start ....")时,我都会打开一个cmd窗口。我想通过关闭每个以前的cmd窗口来创建一个更加无缝的应用程序。我怎么能这样做?

如果有人知道在同一个cmd窗口中运行一系列命令的更好方法,而不是每次执行命令时都打开新命令,请告诉我。

有帮助吗?

解决方案

您无法从Java控制打开的窗口。但我建议你提供两种解决方案:

<强>第一

Runtime.exec("cmd /c start /MIN ...")

/ MIN参数将阻止窗口出现。

第二次:将您必须在同一个批处理文件中调用的所有应用程序放入并调用一次。 : - )

其他提示

不要使用start,这会打开另一个窗口

替换:

Runtime.exec("cmd /c start....")

with:

Runtime.exec("cmd /c ....")

为什么需要cmd窗口?

我将直接在Java中运行命令并捕获输出并将其显示在本地窗口中(如果需要的话)。

确保您消耗程序的所有输出,否则它可能会停止。还记得关闭stdout,stderr和stdin流或者某些文件句柄可能会泄漏(好吧,某些Unix操作系统上的某些JDK就是这样...... Windows,谁知道)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top