我正在开发一个将用于启动其他应用程序的 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 中运行并保持打开以供输入。
最佳答案
从 cmd.exe 运行它是有效的。
cmd start cmd /k java -version
但是,这只是在等待您运行更多命令。
如果你想让它等待用户输入使用
cmd start java MyProgramWhichWaitsForInput
关于java - 在其自己的 cmd.exe 中运行工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782075/