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

发布于 2024-10-14 10:09:36 字数 558 浏览 0 评论 0原文

我正在开发一个 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 中运行并保持打开状态以供输入。

I am working on a Java application which will be used to launch other applications. Now, most of those have a GUI, but some are command-line tools. For the latter, I would like to open the appropriate command line and have them execute there.

That is, on Windows, I would like to open cmd.exe, and run the tool with the appropriate arguments. The problem is getting cmd.exe to stay open.

When I use ProcessBuilder to start

cmd.exe /k java -version

I get the desired output (I capture the output streams), but the cmd.exe window isn't visible.

When I run

cmd.exe /k start java -version

the cmd.exe window pops up for a split second and then disappears.

But when I just run cmd.exe /k start the cmd.exe window appears and stays open, while cmd.exe start doesn't show a window (as I would expect).

What I want is for the command line tool to run in its own cmd.exe and stay open for input.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流云如水 2024-10-21 10:09:36

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

cmd start cmd /k java -version

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

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

cmd start java MyProgramWhichWaitsForInput

Running this from the cmd.exe works.

cmd start cmd /k java -version

However, this just waits for you to run more cmd's.

If you want it to wait for user input use

cmd start java MyProgramWhichWaitsForInput
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文