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

NetBeans Java Discussion :

[Visual Web] Comment lancer une application .bat à travers un bouton


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut Comment lancer une application .bat à travers un bouton
    salut , je n'arrive pas a faire executé une application externe a travers un boutton dans ma paje jsp.
    esque je peut utiliser cette class runtime .
    g mit ca dans le champs d'action de proprité de mon boutton .

    Runtime runtime = Runtime.getRuntime();
    runtime.exec(new String[] { "C:\\Program Files\\MonAppli\coppercore.bat" } );

    mais ca na pas marché , esque qlq peut m'aider la dessus merci

    merci d'avance.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    runtime.exec ne peut lancer que des process executables (.exe). Il ne sait pas lancer un .bat, .cmd, .vbs ou autre.

    ==> il faut executer la commande "cmd.exe /C xxxx.bat" (%COMSPEC%)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] cmd = new String[3];
    cmd[0] = "cmd.exe" ;
    cmd[1] = "/C" ;
    cmd[2] = "C:\\Program Files\\MonAppli\\coppercore.bat"; // 2 backslash ! :-)
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    ok merci pour votre réponse
    thank you.

  4. #4
    Membre éprouvé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Par défaut
    Par ailleurs, lire ce petit tuto ne peut faire que du bien.

    Valère

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    merci valered sayé g résolue le problem , merci pour le tuto .

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par pseudocode
    runtime.exec ne peut lancer que des process executables (.exe). Il ne sait pas lancer un .bat, .cmd, .vbs ou autre.

    ==> il faut executer la commande "cmd.exe /C xxxx.bat" (%COMSPEC%)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] cmd = new String[3];
    cmd[0] = "cmd.exe" ;
    cmd[1] = "/C" ;
    cmd[2] = "C:\\Program Files\\MonAppli\\coppercore.bat"; // 2 backslash ! :-)
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);
    Bonjour Pseudocode

    J'ai essayé ce code et il marche bien avec des fichiers en windows. Merci

    J'aimerais faire la même chose mais sur unix. Je veux exécuter un script shell à partir d'un bouton. Qu'est-ce qu'il faut enlever et ajouter du code ci-dessous.

    Merci

  7. #7
    Membre éprouvé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Par défaut
    Bonjour Diamonds,

    Il suffit de l'adapter aux usages d'Unix:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] cmd = new String[3];
    cmd[0] = "myScript.sh" ;
    cmd[1] = "argument1" ;
    cmd[2] = "/ce/chemin/est/mon/argument2";
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);
    Bien s'assurer que myScript.sh est exécutable!

    Valère

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par valered
    Bonjour Diamonds,

    Il suffit de l'adapter aux usages d'Unix:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] cmd = new String[3];
    cmd[0] = "myScript.sh" ;
    cmd[1] = "argument1" ;
    cmd[2] = "/ce/chemin/est/mon/argument2";
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);
    Bien s'assurer que myScript.sh est exécutable!

    Valère
    Ok merci Valère, je vais l'essayer.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par diamonds
    Ok merci Valère, je vais l'essayer.
    Je l'ai essayé et ca ne marche pas. pas d´erreur, mais pas d'envoi de résultat de mon script.

    j'ai un seul argument et voici le corps du code central

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String[] cmd = new String[2];
    cmd[0] = "/usr/toto.sh" ; 
    cmd[1] = "argument 1";
    Si on ne met pas le chemin pour l'argument 1, est-ce que Tomcat ne va pas le placer automatiquement comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /usr/toto.sh argument1
    Faut-il mettre un double slash au niveau du chemin comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cmd[0] = "//usr//toto.sh" ;
    il me semble que le paramètre argument ne doit pas avoir de chemin qui le précède car, ce chemin est déjà mentioné dans cmd[0]

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

Discussions similaires

  1. Comment lancer une applic en spécifiant Xmx=512M ?
    Par lr dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 05/06/2007, 14h48
  2. Réponses: 9
    Dernier message: 26/04/2007, 00h44
  3. [VB.NET] Comment lancer une application externe dans ma Form
    Par afdmats dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/10/2006, 15h27
  4. Comment lancer une application qui a été développée sous Unix avec le navigateur IE
    Par diamonds dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 26/09/2006, 14h43
  5. Réponses: 11
    Dernier message: 25/05/2006, 11h42

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