Executer fichier.bat avec java [Résolu]

Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Dernière intervention
2 décembre 2012
- - Dernière réponse : alias100
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Dernière intervention
2 décembre 2012
- 17 mai 2007 à 08:39
Salut,
j'ai realiser un programme qui me permet de lancer un fichier batch et ca marche en local, maintenant j'ai deux machine connecte appartient au meme reseau PC1,PC2 respectivement le premier contient un fichier.bat sous C: et le PC2 contient le programme qui va lancer la commande d'execution de ce fichier
comment je dois modifier mon code pour qu'il s'execute
voici mon code:

import java.io.*;
//
public class Test_runtime {
   
    public static void dumpStream(InputStream in, PrintStream out) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line = "";
        try {
            while((line = reader.readLine()) != null) {
                // Traitement du flux de sortie de l'application si besoin est
                System.out.println(line);
            }
        }
        finally {
            reader.close() ;   
        }
    }
 
   
   
    public static void main(String[] args) throws IOException, InterruptedException{
        
        //final Process    P = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/C", "dir" });
    final Process    P = Runtime.getRuntime().exec(new String[] { "test.bat"});
               
        //Thread Erreur
        new Thread() {
            public void run() {
                try {
                    dumpStream(P.getErrorStream(), System.err);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            }.start();
            //Thread Ecriture
            //Consommation de la sortie standard de l'application externe dans un Thread separe
            new Thread() {
                public void run() {
                    //
                    try {
                        dumpStream(P.getInputStream(), System.out);
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }               
            }.start();
            P.waitFor();
           
    }
}

Merci pour vos aides
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
3
Merci
Salut:

Si tu veux exécuter une commande sur une machine distance, tu peux:

- créer un programme client/serveur
- utiliser RMI (Remote Method Invocation)

Le client ou le serveur (le plus important que ce sont deux programmes qui ont une voix de communication) signale l'autre bout de communication de lancer le fichier .bat.

Merci Ombitious_Developper 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Dernière intervention
2 décembre 2012
0
Merci
Ce que j'ai compris:
Pour exécuter une application a distance que se soit machine linux ou
windows je dois utiliser des protocoles,
par exemple SSH
puisque il se trouve sur les deux plateformes linux ou
windows

Est-ce que cette idée est juste ou pas ?
Merci pour votre aide
Commenter la réponse de alias100

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.