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

标签 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 中运行并保持打开以供输入。

最佳答案

从 cmd.exe 运行它是有效的。

cmd start cmd /k java -version

但是,这只是在等待您运行更多命令。

如果你想让它等待用户输入使用

cmd start java MyProgramWhichWaitsForInput

关于java - 在其自己的 cmd.exe 中运行工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782075/

相关文章:

java - 麻烦初始化 List<Object[]> 使用 Arrays.asList

java - 当我尝试加载《太空入侵者》克隆游戏时出现 ClassCastException

windows - CMake 生成的 MinGW Makefile 有引用错误

windows - Docker和NET Core 2.0,无法运行docker镜像

对命令提示符、Visual Studio exe 和文本文件感到困惑?

cmd - 从命令提示符启动时更改应用程序的标题

java - 具有无状态服务的分布式企业应用程序框架?

java - 代码中的AWS Lambda触发器; java

c++ - 将数据传递到 Windows 控制台控制处理程序

batch-file - 如果文件不存在则批处理创建否则重命名