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.