Command DOS WMIC sous Java

Résolu
controlleur
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013
- 22 juin 2012 à 09:33
Twinuts
Messages postés
5372
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
- 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);
   	}

}

}
A voir également:

12 réponses

Twinuts
Messages postés
5372
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
111
22 juin 2012 à 13:35
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
3
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juin 2012 à 09:43
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.
0
Twinuts
Messages postés
5372
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
111
22 juin 2012 à 10:13
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
0
Twinuts
Messages postés
5372
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
111
22 juin 2012 à 10:17
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
controlleur
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013

22 juin 2012 à 10:39
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
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juin 2012 à 10:40
Si tu avais regardé le lien que je t'ai donné, tu le saurais...
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juin 2012 à 10:40
encore une fois, je suis quasi certain que wmic n'est pas dans ton path...
0
cormandyr
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
12
22 juin 2012 à 10:41
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
0
controlleur
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013

22 juin 2012 à 10:48
@ 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
0
controlleur
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013

22 juin 2012 à 10:49
rectification à Julien :

commande
 String cmd="cmd /c wmic.exe process where name="+command+"get ProcessID";
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juin 2012 à 10:55
Et tu as essayé de voir ce qu'il y avait dans la sortie en erreur ?
0
controlleur
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013

22 juin 2012 à 11:05
oui , j'ai tester il me renvoie pas d'erreur , mais lorsque j'affiche "stdInput.readLine()" : il m'affiche null .
0