Hello le forum, adiGuba,

j'ai vu que ton API simplifiait pas mal de choses alors j'essaye de l'utiliser. Voila le bout de prog que j'avais avant :

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
16
17
18
19
20
21
22
23
24
25
26
 
if (this.name.contains(".pl")) {
                /* if it's a perl file */
                try {
                    runtime.exec(new String[]{"cmd", "/c", "perl", scriptFile}, // script perl à  exécuter
                            null, // variable d'environnement par défaut
                            new File(cmdDirectory) // répertoire d'exécution de mon script perl
                            );
                    this.success();
 
                } catch (IOException ex) {
                    this.error(ex);
                }
 
            } else if (this.name.contains(".vbs")) {
                /* if it's a visualBasic file */
                try {
                    runtime.exec(new String[]{"cmd", "/c", scriptFile}, // script perl à exécuter
                            null, // variable d'environnement par défaut
                            new File(cmdDirectory) // répertoire d'exécution de mon script perl
                            );
                    this.success();
 
                } catch (IOException ex) {
                    this.error(ex);
                }
1/ Si l'utilisateur n'a pas setter sa variable d'environnement pour Perl, ou n'a pas Perl d'installer... je n'ai rien qui le notifie

2/ Je ne réccupère pas le flux de sortie suite à l'exécution de mes scripts...

Alors j'ai décider de prendre l'API de adiGuba et j'ai fais ceci :

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
16
17
 
Shell = new Shell();
StringBuilder out = new StringBuilder();
StringBuilder err = new StringBuilder();
 
/**
* Je ne suis pas sûr de ce qui suit : c'est à dire que mon scriptFile qui est
* dans un répertoire (Rep1) doit s'exécuter dans un autre répertoire (Rep2) 
* mais je ne sais pas comment écrire tout cela en une seule ligne....
*/
process = sh.command("cmd", "/c", "perl", scriptFile, "-d", cmdDirectory);
 
/**
* Comment cette fonction juge que le process est en erreur ? 
*/
process.error(err);
process.output(out);
Merci d'avance pour les infos,
Bap