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

API standards et tierces Java Discussion :

[Système][Dos] Execution commandes DOS [FAQ]


Sujet :

API standards et tierces Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut [Système][Dos] Execution commandes DOS
    Salute,

    Est-ce possible d'exécuter des commandes DOS à partir de Java ? Si oui comment ?

    Thanks

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    J'ai vu ça dans la FAQ mais j'ai beau tester avec n'importe quelle commande DOS et je me retrouve avec une très belle exception..

    Quand je parle de commande DOS je ne parle pas simplement de lancer une application mais de faire des ren, etc.. (je sais qu'on peut renommer en Java mais c'est un exemple).

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    salut.
    j'ai essayé moi aussi la command "cls" mais, comme il ete dit, ca donné des belles exceptions.
    coment faire alors :

  5. #5
    Membre régulier Avatar de dinver
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 122
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par charaf
    salut.
    j'ai essayé moi aussi la command "cls" mais, comme il ete dit, ca donné des belles exceptions.
    coment faire alors :
    Tu ne peux pas exécuter des commandes internes DOS. Tu peux exécuter des programmes par exmple : notepad, calc, ...

  6. #6
    FFF
    FFF est déconnecté
    Membre actif Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Points : 282
    Points
    282
    Par défaut
    tu as essayé en lançant le programme dos lui même "cmd.exe + commande dos" ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    J'ai testé comme a dit FFF et je n'ai aucun résultat mais je n'ai pas d'exception.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    try {
                        Process proc = Runtime.getRuntime().exec("cmd.exe" + " mkdir C:\\test");
                    } catch (IOException e) {
                        e.printStackTrace(); 
                    }
    ...
    J'ai aussi essayé en mettant ("cmd.exe mkdir C:\\test"); et pas ("cmd.exe" + " mkdir C:\\test");

    J'ai bien peur que Dinver est raison.

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Essaye avec : "cmd.exe /C commande"
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    T'es sous quel windows ?

    sous windows xp et NT
    cmd /c tacommande
    sous windows 95, 98 et ME
    command /c tacommande
    Lorsque tu exécutes un programme depuis Java, c'est comme si tu le lancais depuis Démarrer | Exécuter.

    Essayer de faire un cls ou un copy ou pause depuis Démarrer | Exécuter, et tu noteras que Windows te donnes également une erreur.

    La solution est bien d'exécuter cmd ou command, mais si tu fais
    cmd pause
    depuis démarrer | exécuter, tu noteras qu'il ouvre une fenêtre DOS, mais ne tient pas compte de la commande pause que tu lui as passé.
    Par contre, si tu fais
    cmd /c pause
    depuis Démarrer | Exécuter, tu verras qu'il ouvre la fenêtre DOS pour t'afficher un message t'invitant à presser une touche. Il a donc bien exécuter la commande pause.


    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  10. #10
    Membre habitué Avatar de OverCat
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 134
    Points
    134
    Par défaut
    Salut vbrabant,

    J'ai une question, si je veux lancer ma commande ipconfig-all à l'aide de mon soft Java.

    Comment je fais pour que la fenêtre dos reste afficher. Parce que si j'execute le code suivant :

    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
     
    import java.io.*;
     
    public class ExecMain
    {
        public static void main(String[] args) 
        {
     
            try
            {
                Process proc = Runtime.getRuntime().exec("cmd /c ipconfig-all");
     
            } 
     
            catch (IOException e)
            {
     
            }
     
        }
    }
    La fenêtre s'affiche mais disparait aussitôt.

    Merci

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    Merci VBrabant je vais tester.

    OverCat rajoute cmd /c pause pour ne pas que la fenêtre se ferme.

  12. #12
    Membre habitué Avatar de OverCat
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 134
    Points
    134
    Par défaut
    Ok merci,

    Penses au .

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    Je voulais tester avant de mettre le tag et ça marche parfaitement. Merci.

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Avec plaisir.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  15. #15
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    Merci a vous mesieur.
    vous m'avez donné la soluion a plusieur problem.
    Merci encore.

  16. #16
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    Desolé mesieurs mais j'ai un problem, pour quoi "cls" ne marche pas voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import java.io.*;
    public class cls{
    public static void main(String [] args) throws IOException{	
    	try{
    		Process proc = Runtime.getRuntime().exe("cmd /c  cls");
    	}catch(IOException e){
    		System.out.println("erreur lors de 'efface de l'ecran"+e);
    		System.out.println("ca merche pas du tout");
    	}
    }
    }
    dites moi qu'elle est le problem svp :
    Merci encore

  17. #17
    FFF
    FFF est déconnecté
    Membre actif Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Points : 282
    Points
    282
    Par défaut
    relis ton code, il manque un c pour le

  18. #18
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Peut-être que je me trompe, mais tu veux faire quoi exactement ?
    Tu lances ton programme Java dans une fenêtre DOS et tu veux faire depuis ce même programme Java un cls de cette fenêtre ??

    Car si c'est cela que tu veux faire, tu n'y arriveras pas avec ce qui est écrit ici. Vu que le code ici ouvre une deuxième fenêtre DOS dans laquelle il exécute cls. Pour la refermer ensuite toute aussi vite.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  19. #19
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    d'abord:
    relis ton code, il manque un c pour le
    Non ce n'est qu'une erreur de tape lors ce que j'ai copy mon code.
    Deuxiément, je croyé que cette command n'affiche pas une deuxiem fenetre elle execute les commandes dans la meme fenetre DOS,vraiment que je suis bete .
    Comme meme, je veus effacé l'ecran dans la meme fenetre comment faire :
    Allez voir la question "consol" pour plus d'information.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Executer commande DOS avec arguments
    Par Zanthia dans le forum C#
    Réponses: 14
    Dernier message: 23/06/2009, 10h58
  2. Execute commande dos
    Par realkilla dans le forum C#
    Réponses: 2
    Dernier message: 30/09/2008, 16h45
  3. Réponses: 2
    Dernier message: 13/06/2008, 19h15
  4. Execution commande dos dans VBA (Pb de guillemets ?)
    Par shinta dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/10/2007, 14h19
  5. executer commande dos
    Par jolatouf dans le forum Langage
    Réponses: 5
    Dernier message: 01/08/2007, 16h19

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