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 :
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
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); }
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 :
Merci d'avance pour les infos,
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);
Bap
Partager