Bonjour à tous,

Après maintes recherches, je bloque sur le passage de paramètres lors du lancement d'un script (.cmd / .bat) via java.

Durant mes recherches, je suis tombé sur deux methodes pour lancer un script.

1ère methode -> Utilisation de Runtime

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Runtime runtime = Runtime.getRuntime();
String[] command = {"cmd", "/c", "Start", "C:\\test.bat "};
Process p = runtime.exec(command);
2ème methode -> utilisation de Desktop
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (Desktop.isDesktopSupported()) {
                    String nomFichier = ".\\Interface\\test.cmd " + "/" + usernameOC; //+ " " + "//" + sequenceToLaunch; // Le nom du fichier
                    File fichier = new File(nomFichier); // Le fichier
                    Desktop desk = Desktop.getDesktop(); // Le lanceur
                    try {
                        desk.open(fichier); // Lancer le fichier
 
                    } catch (IOException ex) {
                        Logger.getLogger(Interface_Panel.class.getName()).log(Level.SEVERE, null, ex);
                    }
 
                }
            } catch (Exception e) {
                Logger.getLogger(Interface_Panel.class.getName()).log(Level.SEVERE, null, e);
            }
Jusque là tout va bien.

Seulement, mes scripts doivent prendre deux parametres en entrée, et je ne sais pas comment les passer en utilisant l'une de ces deux methodes...

Avec chacune des methodes précédentes, j'ai tenté de les passer comme si je lancais le script via l'invite de commande, mais sans succès
Code : Sélectionner tout - Visualiser dans une fenêtre à part
String[] command = {"cmd", "/c", "Start", "C:\\test.bat param1 param2"};
Puis j'ai essayé avec le / (lu sur un forum lors de mes recherches), toujours sans succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
String[] command = {"cmd", "/c", "Start", "C:\\test.bat " + "/" + param1};
Savez-vous s'il est possible d'utiliser l'une de ces 2 methodes pour lancer le script avec passage de parametre ? ou bien s'il existe une autre solution ?

Merci d'avance.