Reputation: 125
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?
Upvotes: 11
Views: 21664
Reputation: 443
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.
Upvotes: 1
Reputation: 7586
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.
Upvotes: 5
Reputation: 4132
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 :))
Upvotes: 8