Bonsoir à tous.
J'ai un petit probleme, en effet je travail sur une application qui consiste à executer une commande (cmd) à partir de java sous Windows XP.
Mon programme marche tres bien quand il s'agit par exemple d'executer des fichiers .exe mais pour les fichiers .bat ou pour executer directement des commandes cmd ca ne marche pas.
J'ai fait pas mal de recherche sur le net, mon programme devrait semble t-il fonctionner.
Je suis par exemple voir du coté de :
http://ydisanto.developpez.com/tutoriels/j2se/runtime/
qui est tres bien expliqué mais mon programme ne marche pas.
Voici mon programme :
je precise que la ligne de commande que j'utilise marche tres bien quand je la tappe directement dans l'invite de commande.
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
27 package org.commande.test ; public class Main { public static void main(String[] args) { String [] cmd = new String[3]; cmd[0] = "cmd.exe" ; cmd[1] = "/C" ; //cmd[2] = "C:\\video\\fichier.bat"; cmd[2] = "cd \"C:\\video\"" + " && dir"; //cmd = "C:\\WINDOWS\\system32\\cmd.exe" ; try { System.out.println("test "); Runtime r = Runtime.getRuntime(); Process p = r.exec(cmd); //Process p = r.exec(new String[] { "cmd.exe", "/C", "echo bonjour" } ); p.waitFor();//si l'application doit attendre a ce que ce process fini }catch(Exception e) { //System.out.println("erreur d'execution " + cmd + e.toString()); System.out.println("erreur d'execution " + e.toString()); } } }
J'ai constaté egalement dans mon cas quand je teste sur des fichiers .exe ca marche à tous les coups sauf justement quand je veux lancer cmd.exe.
Je pense qu'il y'a un lien avec mon probleme mais je me trompe peut etre.
Si quelqu'un peut m'aider ce serait vraiment tres sympa.
Cordialement,
Partager