在自己的cmd.exe中运行工具

时间:2011-01-24 12:41:58

标签: java windows cmd

我正在开发一个用于启动其他应用程序的Java应用程序。现在,大多数都有GUI,但有些是命令行工具。对于后者,我想打开相应的命令行并让它们在那里执行。

也就是说,在Windows上,我想打开cmd.exe,并使用适当的参数运行该工具。问题是让cmd.exe保持打开状态。

当我使用ProcessBuilder启动时

cmd.exe /k java -version

我得到了所需的输出(我捕获输出流),但cmd.exe窗口不可见。

当我跑步时

cmd.exe /k start java -version

cmd.exe窗口弹出一瞬间然后消失。

但是当我刚运行cmd.exe /k start时,cmd.exe窗口出现并保持打开状态,而cmd.exe start没有显示窗口(正如我所料)。

我想要的是命令行工具在其自己的cmd.exe中运行并保持打开以进行输入。

2 个答案:

答案 0 :(得分:0)

从cmd.exe运行此程序。

cmd start cmd /k java -version

但是,这只是等待你运行更多cmd。

如果您希望它等待用户输入

cmd start java MyProgramWhichWaitsForInput

答案 1 :(得分:0)

使用"Starting a Java tool with cmd.exe"中的答案解决了这个问题。我怀疑问题是分开的,但事实并非如此。