Bonjour,
je cherche à lancer un .bat depuis mon application java, j'ai donc fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Runtime r = Runtime.getRuntime();
Process p = r.exec("C:\\test.bat");
r.waitFor();
Le .bat se lance bien mais il le fait en tâche de fond, or je veux que la fenêtre dos soit visible pour pouvoir voir le déroulement de mon .bat

J'ai donc testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Runtime r = Runtime.getRuntime();
Process p = r.exec("cmd.exe /c start C:\\test.bat");
r.waitFor();
La nikel ça marche mais ici je lance un cmd.exe qui lance mon .bat, donc une fois mon .bat lancé, le processus cmd.exe se termine et donc mon r.waitFor(); considere le processus terminer et poursuit le prog java or mon .bat lui n'a pas fini son éxécution.

J'ai alors tenté un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
String nomFichier = "C:\\test.bat";
File fichier = new File(nomFichier);
Desktop desk = Desktop.getDesktop();
desk.open(fichier);
La aussi ça marche mais pas moyen de dire à mon prog java d'attendre la fin de mon .bat avant de continuer.

Auriez vous une solution à me proposer car la je vois pas.

Merci.