如何从Windows批处理文件运行Java但隐藏命令窗口?

时间:2012-01-26 16:39:27

标签: java batch-file cmd

我有一个.bat文件包含运行java -jar example.jar的此命令example.jar

我不希望在执行文件时屏幕上显示cmd.exe。这可能吗?

5 个答案:

答案 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允许您无形地执行批处理文件。只需在您的函数中使用上面的代码即可。