Command DOS WMIC sous Java [Résolu]

controlleur 69 Messages postés mercredi 27 janvier 2010Date d'inscription 16 avril 2013 Dernière intervention - 22 juin 2012 à 09:33 - Dernière réponse : Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention
- 22 juin 2012 à 13:35
Bonjour

j'ai essayer d’exécuter la commande "Wmic" sous Java Eclipse mais rien ne s'affiche , je sais pas est ce que mon code est correcte ou pas :

voici mon code
 public class Main {


public static void main(String[] args) throws IOException {

String command="firefox.exe";
String cmd1="wmic process where name"+command+" get description,executablepath";
Process p = Runtime.getRuntime().exec(cmd1);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
String Inp;
while((Inp=stdInput.readLine())!=null){ 
System.out.println(Inp);
   	}

}

}
Afficher la suite 

12 réponses

Répondre au sujet
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 22 juin 2012 à 13:35
+3
Utile
Salut,

Si j'execute ce code je vois bien l'erreur (le "cmd /c" n'est pas utile):
import java.util.Scanner;

public class Test {
  public static void main(final String[] args) throws Throwable {
    final String command = "firefox.exe";
    final String cmd1 = "wmic process where name='" + command
        + "' get description,commandLine";
    final Process p = Runtime.getRuntime().exec(cmd1);
    final Scanner sc = new Scanner(p.getErrorStream());
    while (sc.hasNextLine())
      System.out.println(sc.nextLine());
    sc.close();
  }
}



-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Twinuts
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 22 juin 2012 à 09:43
0
Utile
Salut,

Je te conseil de regarder ca : http://www.javafr.com/codes/EXEMPLE-UTILISATION-CLASSE-RUNTIME_54094.aspx

Sinon, je ne suis pas certain que wmic soit dans le path, je te conseil d'utiliser le chemin complet vers l'exécutable wmic.
Commenter la réponse de cs_Julien39
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 22 juin 2012 à 10:13
0
Utile
Salut,

C'est volontaire l'omission de l'espace entre name firefox.exe ?


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 22 juin 2012 à 10:17
0
Utile
Re,

Apres si il ne t'affiche rien dans stdout regarde dans stderr je suis sur qu'il te répond


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
controlleur 69 Messages postés mercredi 27 janvier 2010Date d'inscription 16 avril 2013 Dernière intervention - 22 juin 2012 à 10:39
0
Utile
merci pour vos réponse .

@ Twinuts : SVP j'ai rajouter un espace entre le "name" et "firefox.exe" ça ne ma rien afficher .

SVP comment je peux regarder le "stderr" ?

Merci d'avance
Commenter la réponse de controlleur
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 22 juin 2012 à 10:40
0
Utile
Si tu avais regardé le lien que je t'ai donné, tu le saurais...
Commenter la réponse de cs_Julien39
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 22 juin 2012 à 10:40
0
Utile
encore une fois, je suis quasi certain que wmic n'est pas dans ton path...
Commenter la réponse de cs_Julien39
cormandyr 600 Messages postés samedi 20 mai 2006Date d'inscription 8 juillet 2016 Dernière intervention - 22 juin 2012 à 10:41
0
Utile
Les versions de Windows répertoriées au début de cet article contiennent un utilitaire de ligne de commande (Wmic.exe) permettant d'accéder à Windows Management Instrumentation (WMI). Auparavant, l'utilisateur final devait généralement écrire un script pour rassembler des informations au moyen de WMI. Wmic.exe ne peut être utilisé que par les administrateurs systèmes locaux, quelles que soient les autorisations d'espaces de nom WMI sur l'ordinateur local.

es-tu admin de ta machine? moi je l'ai testée avec java.exe et ça marche bien...


wmic process where name='java.exe' get description,commandLine
Commenter la réponse de cormandyr
controlleur 69 Messages postés mercredi 27 janvier 2010Date d'inscription 16 avril 2013 Dernière intervention - 22 juin 2012 à 10:48
0
Utile
@ cormandyr : oui , j'ai tester aussi la commande sous mon PC depuis la console "MS-DOS" est ça marche trés bien .


@ Julien39 : oui, julien j'ai aussi essayer cette commande dont
                   String cmd= "cmd /c wmic Process where name " + command + " get processid";

mais ça marche pas .

Merci d'avance
Commenter la réponse de controlleur
controlleur 69 Messages postés mercredi 27 janvier 2010Date d'inscription 16 avril 2013 Dernière intervention - 22 juin 2012 à 10:49
0
Utile
rectification à Julien :

commande
 String cmd="cmd /c wmic.exe process where name="+command+"get ProcessID";
Commenter la réponse de controlleur
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 22 juin 2012 à 10:55
0
Utile
Et tu as essayé de voir ce qu'il y avait dans la sortie en erreur ?
Commenter la réponse de cs_Julien39
controlleur 69 Messages postés mercredi 27 janvier 2010Date d'inscription 16 avril 2013 Dernière intervention - 22 juin 2012 à 11:05
0
Utile
oui , j'ai tester il me renvoie pas d'erreur , mais lorsque j'affiche "stdInput.readLine()" : il m'affiche null .
Commenter la réponse de controlleur

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.