简体   繁体   中英

How can I run a Java from windows batch file but hiding the command window?

I have a .bat file include this command java -jar example.jar that runs example.jar .

I don't want cmd.exe to be visible on screen when the file is being executed. Is this possible?

使用javaw.exe而不是java.exe这应该删除shell

you can hide it like this:

start javaw -jar example.jar

Or if you call it from inside of another project you can call like like this:

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);
    }

If you have any question just ask me :))

Runtime.getRuntime()。exec(“cmd / c start / B example.bat”);

Start your bat file using the windows "start" command

Start "" /B "c:\myFolder\MyJavaLauncher.bat"

The "/B" option tell to start the program without showing the typical command window.

try {
        String[] command = {"cmd.exe", "/C", "Start /B" , "C:\\path\\urbatname.bat"};
        Process p =  Runtime.getRuntime().exec(command);           
    } catch (Exception ex) {
        ex.printStackTrace();
    }

The /B allow you to execute the batch file invisibly. Just have the codes above in your function and it will work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM