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

Java Discussion :

fichier bat a lancer (encore)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 70
    Par défaut fichier bat a lancer (encore)
    Bonjour a vous desolé pour cette question je sais qu'elle revient souvent.

    J'ai une application Java qui doit executer un fichier bat.
    Je me suis servi du tutoriel , le probleme qui se pose est que lors de l'execution je ne vois pas ma fenetre dos qui s'affiche.

    j'ai besoin de cette fenetre pour suivre l'evolution de l'execution et d'autre choses.

    voici mon code pour le moment :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    Runtime runtime = Runtime.getRuntime();
                try {
     
     
                    System.out.println("kikoo");
                    final Process process = runtime.exec(new String[]{"cmd.exe", "/C", "C:\\IRIModif\\LanceurIRI\\run.bat"});
     
                    // process.waitFor();
     
     
                    new Thread() {
     
                        public void run() {
                            try {
                                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
                                String line = "";
                                try {
                                    while ((line = reader.readLine()) != null) {
                                        System.out.println(line);
                                    }
                                } finally {
                                    reader.close();
                                }
                            } catch (IOException ioe) {
                                ioe.printStackTrace();
                            }
                        }
                    }.start();
     
    // Consommation de la sortie d'erreur de l'application externe dans un Thread separe
                    new Thread() {
     
                        public void run() {
                            try {
                                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
     
                                String line = "";
                                try {
                                    while ((line = reader.readLine()) != null) {
                                        // Traitement du flux d'erreur de l'application si besoin est
                                    }
                                } finally {
                                    reader.close();
                                }
                            } catch (IOException ioe) {
                                ioe.printStackTrace();
                            }
                        }
                    }.start();
     
     
     
                    System.out.println("on est passé");
                } catch (IOException ex) {
                    Logger.getLogger(Controleur.class.getName()).log(Level.SEVERE, null, ex);
                }

    Lors de l'execution je vois que le fichier bat est bien executé (grace au system.out.println() )

    Mais je veux vraiment avoir la fenetre dos qui s'ouvre et la voir visuelement vous avez une solution ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 31
    Par défaut
    si tu veux afficher la console msdos il te suffit de rajouter "start" dans ta ligne de commande.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final Process process = runtime.exec(new String[]{"cmd.exe", "/C", "start C:\\runTest.bat"});

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 70
    Par défaut
    je me sens bete d'un coup !
    Merci enormement, en plus ce fut rapide

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 31
    Par défaut
    y'a pas de quoi!

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

Discussions similaires

  1. Fichier bat pour lancer plusieurs applications
    Par FabaCoeur dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 15/02/2009, 17h34
  2. Lancer un .sql dans un fichier .bat
    Par PrinceMaster77 dans le forum Installation
    Réponses: 5
    Dernier message: 27/10/2006, 10h49
  3. lancer un test avec un fichier .bat
    Par marc olivier dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 28/04/2006, 10h33
  4. Réponses: 4
    Dernier message: 23/03/2006, 22h03
  5. Lancer un fichier BAT
    Par bug_warrior dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/03/2006, 17h12

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