我有一个.bat
文件包含运行java -jar example.jar
的此命令example.jar
。
我不希望在执行文件时屏幕上显示cmd.exe
。这可能吗?
答案 0 :(得分:7)
使用javaw.exe而不是java.exe这应该删除shell
答案 1 :(得分:5)
start javaw -jar example.jar
或者,如果您从另一个项目中调用它,您可以像这样调用:
try {
Process p = Runtime.getRuntime().exec("cmd /c start /B example.bat");
p.waitFor();
} catch (InterruptedException ex) {
Logger.getLogger(OpenFileFromCmd.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(OpenFileFromCmd.class.getName()).log(Level.SEVERE, null, ex);
}
如果您有任何疑问,请问我:))
答案 2 :(得分:2)
使用windows“start”命令启动你的bat文件
Start "" /B "c:\myFolder\MyJavaLauncher.bat"
“/ B”选项告诉您启动程序而不显示典型的命令窗口。
答案 3 :(得分:2)
Runtime.getRuntime()。exec(“cmd / c start / B example.bat”);
答案 4 :(得分:1)
try {
String[] command = {"cmd.exe", "/C", "Start /B" , "C:\\path\\urbatname.bat"};
Process p = Runtime.getRuntime().exec(command);
} catch (Exception ex) {
ex.printStackTrace();
}
/ B允许您无形地执行批处理文件。只需在您的函数中使用上面的代码即可。