我创建了一个小型Java应用程序,其中有一些代码可以执行批处理文件。批处理文件的执行导致命令行窗口被打开并显示一些输出消息。我想知道Java中是否有某种方法可以在程序中调用此命令行窗口...谢谢!
答案 0 :(得分:2)
批处理文件完成后,命令窗口应自动关闭。
并在后台运行批处理文件/隐身,请检查其他questions
答案 1 :(得分:1)
使用javaw
或javaw.exe
启动java。
java
(java.exe
)使用关联的控制台窗口运行,
javaw
(javaw.exe
)是相同的但没有控制台窗口。
请参阅java命令的文档。
在Windows上,还使用start
来调用另一个 shell
start javaw ClassName
我不确定Linux& Co。尝试使用&在命令后在后台运行它
javaw ClassName &
另一方面,从Java启动的批处理关闭窗口:
我不相信这可以直接来自Java内部。您只能自行关闭批处理文件
在不知道批处理文件正在做什么的情况下很难提供帮助。您可以尝试在Windows上使用start
命令或&在Linux中在后台运行该进程(start
有一个选项可以打开窗口最小化[/ MIN]或在后台[/ B])。
或尝试使用AutoHotKey或某些系统功能(某些WinAPI-DLL或其他系统中的等效功能)。
答案 2 :(得分:1)
作为NimChimpsky答案的补充:
如果在Windows中运行批处理文件,Windows将自动打开批处理文件的命令窗口,以防批处理文件要打印输出或提示输入。如果从Java进程启动bat文件,这也适用。
不幸的是,Windows本身显然无法在没有这样的窗口的情况下启动批处理文件。要避开该窗口,您必须通过一些帮助程序运行批处理文件。有几个可用; google for“run bat no window”找到一些。
如果您只是希望在批处理文件终止后窗口消失:那应该会自动发生。如果没有,批处理文件启动的某些程序仍在运行。
答案 3 :(得分:0)
开始/ b [bat文件名]