IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Probleme d'éxecution commande


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut Probleme d'éxecution commande
    Bonjour
    j ai un soucis avec mon programme
    j essaye de lancer Psinfo.exe depuis une commande en java
    j avais reussi a faire le meme type de commande avec Ipangry mais avec Psinfo le processus ne se termine jamais je ne sais pas ce qui se passe et quand je mets la meme ligne de commande dans une fentre dos cela fonctionne

    je vous laisse le code
    merci de votre aide

    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
    {
    				try
     
    					{
    					cmd[0]= "Executable\\Pstools\\Psinfo.exe \\10.10.10.10 -u Administrateur -p motdepasse -accepteula > Temp\\res\\resPsinfo.txt 2<&1";
     
     
     
    						Runtime PSinfo = Runtime.getRuntime();
    						Process lancement =PSinfo.exec(cmd[0]);//lancement de la commande
    						lancement.waitFor();
     
     
    					}
     
    				catch(Exception e)
    					{
    						System.out.println("erreur d'execution " + cmd[0] + e.toString());
    						System.out.println(e);
    					}

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    Runtime permet de lancer un programme et non pas une ligne de commande, ce qui est tout à fait différent (une ligne de commande est traité par un shell et certains caractères sont interprétés -- comme les redirection par exemple).

    De plus avec Runtime il est obligatoire de traiter les flux de sortie du process dans des threads séparés...


    Plus d'info : Exécuter une application externe en Java
    Une API qui simplifie un peu cela : Shell

    a++

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    ok merci je n avais pas fait du tout la difference j ai foncé tete baissé pour gagner du temps bah j ai tout gagné

    merci beaucoup de l eclairage

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    J ai bien mis le Shell.jar dans le builpath mais impossible d y faire appel
    j ai fait import shell.shell;
    import Shell.shell;
    import shell.Shell;
    et ce n est jamais bon j ai du zappé un truc la ça fait longtemps que je n ai pas rajouté de jar dans le buildpath
    pouvez vous m aider j ai regardé la doc pour ça mais en vain

    merci

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    La classe Shell appartient au package com.developpez.adiguba.shell

    a++

  6. #6
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 321
    Par défaut
    Je trouve cela assez classe le package à ton nom

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    c est ce que j ai vu mais j ai repris betement l import d un exemple que j ai vu a la fin du billet sur le blog

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    Bonsoir je suis un peu en galere avec l api je trouve pas d exemple
    de code sur le net si quelqu un a un bout de code qui puisse me depanner avec l api shell Merci d avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.system("Executable\\Pstools\\Psinfo.exe \\192.168.1.25 >texte.txt");
    ce bout de code demarre bien le psinfo mais il s arrete juste avant de me donner les resultats
    et si j enleve l adresse IP et les deux anti slash ça fonctionne mais c est pas ce que je veux
    je voudrais
    "Executable\\Pstools\\Psinfo.exe \\192.168.1.25 -u admin -p password -accepteula > Temp\\res\\respsinfo.txt 2>&1";
    j essaye plein de truc mais rien de concluant encore
    je continue mes recherches mais n hesitez pas

  9. #9
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Par défaut
    T'es sur que c'est pas un problème de firewall ou de l'antivirus sur ton adresse ip.

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    oui je suis sur que ce n est pas le pare feu ni l anti virus
    merci quand meme de la suggestion

  11. #11
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Par défaut
    Personnellement, moi j'arrive a récupérer le résultat de la commande avec ça :
    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
     
    		Shell sh;
    		String resultat;
    		String exec;
     
    		exec="D:\\outils\\PsTools\\Psinfo.exe";
    		try {
    			sh=new Shell();
    			resultat = sh.exec(exec, 
    				    "\\\\mon_ordi","-accepteula").errorRedirect().consumeAsString();
    			System.out.println("resultat="+resultat);
    		} catch (IllegalStateException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    Pour info, j'utilise la version 1.75 de psinfo.
    Il est vrai que si je le lance pour un autre ordi, il me refuse l'accès (alors qu'il n'y a pas de mot de passe sur ce deusieme ordi).
    Donc soit tu as oublié de doubler les \\, soit tu crée le fichier texte.txt a un endroit que tu ne penses pas. Sinon, tu peux voir si ce code te convient (bien sur, il faut le mettre dans un fichier).

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    Bonjour
    Et bien le code marche tres bien sur mon pc mais j esssaye de mettre l ip d un pc du reseau mais acces refusé c est embetant
    je sais qu en lançant des .bat contenant la ligne de commande ça fonctionne mais je n ai pas envie d etre obligé de passer par là
    Si jamais vous y arriver contactez moi
    merci pour votre aide

    ps: j ai desactive le pare feu

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    bon j ai réessayé au boulot
    mais bref des que je veux mettre un mot de ^passe et un user il ne veut plus de ma ligne de commande il lance psinfo mais rien ne se passe
    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
    try {
    			Shell sh;
     
    			String resultat;
     
    			String exec;
     
     
    			exec="Executable\\PsTools\\Psinfo.exe";
     
    			sh=new Shell();
     
    			resultat = sh.exec(exec, 
     
    			"\\\\adresse ip","-u administrateur","-p mdp","-accepteula").errorRedirect().consumeAsString();
     
    			System.out.println("resultat="+resultat);
     
    			} catch (IllegalStateException e) {
     
    			e.printStackTrace();
     
    			} catch (IOException e) {
     
    			e.printStackTrace();
     
    			}


    comment faire?
    merci de votre aide

  14. #14
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par leyee Voir le message
    Je trouve cela assez classe le package à ton nom
    J'ai juste suivis les conventions de nommage officiel pour les packages

    Citation Envoyé par lerab51 Voir le message
    mais bref des que je veux mettre un mot de ^passe et un user il ne veut plus de ma ligne de commande il lance psinfo mais rien ne se passe
    Tu n'as ni exception ni message d'erreur en retour ?

    Au passage si tu utilises exec() il faut séparer tous les arguments :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    resultat = sh.exec(exec, 
     
    			"\\\\adresse ip","-u", "administrateur","-p", "mdp","-accepteula").errorRedirect().consumeAsString();

    Sinon, on pourrait voir la ligne de commande exacte que tu utilises depuis une console DOS ?

    a++

  15. #15
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    depuis une console dos
    j execute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Executable\Pstools\Psinfo.exe \\adresse_IP -u admin -p mdp -accepteula >texte.txt 2>&1
    et ça fonctionne bien
    mais quand je lance avec le prog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "Executable\\PsTools\\Psinfo.exe", 
    "\\\\adresse_IP","-u","administrateur","-p","mdp","-accepteula"
    cela ne fonctionne pas je regarde dans les processus psinfo est en cours mais il ne travail pas et donc ne repond jamais ni meme ne se fini

    si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "Executable\\PsTools\\Psinfo.exe"," \\\\adresse_IP","-accepteula"
    là ça fonctionne mais j ai besoin de rentrer des mots de passes et des users

    aucune erreur lors de l execution

  16. #16
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Lorsque tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.system("Executable\\Pstools\\Psinfo.exe \\\\adresse_IP -u admin -p mdp -accepteula");
    Est-ce que tu as un message dans la console ?

    Je viens d'essayer sur mon poste en local avec PsInfo et cela fonctionne, mis à part que les temps de réponse sont vraiment très long...



    Question subsidiaire : n'y aurait-il pas des caractères spéciaux dans ton login ou mot de passe (comme des accents par exemple) ? Il se peut que ce soit un problème d'encodage...

    a++

  17. #17
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    non pas de caracteres speciaux dans le mot de passe ni dans le user

    j ai essayé avec shell.system mais c est pareil psinfo dans les processus bien ouvert mais ne repond jamais

    psinfo est toujours long a l execution mais la je ne vois plus ce qui peut se passer

    j ai essayé ça
    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
    try
    			{
    				Shell sh = new Shell();
     
     
    					sh.system("Executable\\Pstools\\Psinfo.exe\\\\10.10.10.10 -u admin -p mdp");
     
    			}
    catch (IllegalStateException e) 
    					{
     
    					e.printStackTrace();
     
    					} 
    					catch (IOException e) 
    					{
     
    					e.printStackTrace();
     
    					}
    es tu essayé en java ou sous dos directement parce que sous dos ça marche
    bien

  18. #18
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lerab51 Voir le message
    j ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
    			{
    				Shell sh = new Shell();
     
     
    					sh.system("Executable\\Pstools\\Psinfo.exe\\\\10.10.10.10 -u admin -p mdp");
     
    			}
    Deux remarques :
    • la méthode system() est statique donc tu n'as pas à utiliser une instance
    • il manque un espace entre le nom de l'exécutable et l'adresse IP


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.system("Executable\\Pstools\\Psinfo.exe \\\\10.10.10.10 -u admin -p mdp");
    Mais tu n'a vraiment rien du tout sur la console ?


    Citation Envoyé par lerab51 Voir le message
    es tu essayé en java ou sous dos directement parce que sous dos ça marche
    bien
    Les deux, mais en utilisant l'adresse 127.0.0.1 pour me connecter en local...

    a++

  19. #19
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    j avais bien mis l espace
    et je n ai rien sur la console
    rien de rien

  20. #20
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    j ai mis la version 1.74 de psinfo et ça fonctionne
    alors un grand merci
    et je vous recontacte si jamais je m'enflamme trop vite

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VBA excel] Probleme sur bouton commande
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/11/2005, 10h10
  2. Problème avec la commande cd
    Par leia dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 29/10/2005, 21h40
  3. Problème avec la commande MAKE
    Par julio26 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 30/04/2005, 20h48
  4. Problème avec la commande su
    Par leng dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/02/2005, 17h31
  5. Problème avec la commande tar
    Par R3iTt0R dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 01/09/2004, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo