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 :

Executer un .bat et démarrer automatiquement


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut Executer un .bat et démarrer automatiquement
    Bonjour à tous,
    J'ai commencé le java il y a quelques temps déjà, et pour un programme, j'aimerai avoir 2 petites précisions.
    Est il possible, d'éxécuter un fichier .bat depuis un code java?
    Et est il possible de faire un sorte que mon fichier .jar démarre automatiquement a chaque démarrage de windows, si possible en tâche de fond??

    Merci d'avance

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    executer un bat est possible via:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process = Runtime.getRuntime.exec(new String[]{"cmd", "/c", "mon_fichier.bat"});
    Il te faudra, comme a chaque utilisation de Runtime.exec(), consommer ou fermer les flux de sortie et d'erreur de l'objet process obtenu.


    Pour démarrer ton programme automatiquement, il ya plusieurs manières différentes sous Windows, certaines ne fonctionnant pas sous toutes les versions. Le plus simple serait sans doute de copier un fichier raccourcis dans le répertoire démarrage du menu démarrer. Par contre il faudrait détecter le version de Windows pour savoir le nom du répertoire ou installer.

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    Ok merci beaucoup pour tes réponses, ça va bien m'aider.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par Uther Voir le message
    executer un bat est possible via:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process = Runtime.getRuntime.exec(new String[]{"cmd", "/c", "mon_fichier.bat"});
    Un pobleme cependant dans mon cas mon bat lancait d'autres programmes et ceux-ci se bloquaient lors de l'execution (et pourtant je consommais les flux de mon process), j'ai resolus la chose en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process = Runtime.getRuntime().exec("cmd /c start mon_fichier.bat"});
    par contre evidement cela affiche la fenetre d'execution. Depuis je lance un script VBScript pour faire la meme chose sans rien afficher.

    EDIT - je n'ai rien dis, apres plus de tests il s'avere que l'un des programmes imprime sur la sortie d'erreur standard d'ou le blocage. De plus le fait que les variantes de Runtime.exec() introduites depuis Java 1.3 permettent de specifier le repertoire d'execution font que de toute maniere je n'ai plus besoin d'utiliser un script (dont les premieres lignes faisaient l'equivalent d'un cd), donc bye bye le .vbs, le .bat et le .sh et bienvenue a l'execution directe des programmes.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. [Système] Executer un .bat
    Par olive.m dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 14/02/2009, 12h59
  2. ouvrir fenetre dos et executer un .bat
    Par crazykangourou dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 14/03/2007, 08h35
  3. executer un .bat
    Par Rayley dans le forum Maven
    Réponses: 2
    Dernier message: 08/08/2006, 17h07
  4. Réponses: 10
    Dernier message: 02/08/2006, 15h32
  5. Démarrer automatiquement une session avec pass
    Par cyberman.inc dans le forum Windows XP
    Réponses: 3
    Dernier message: 07/08/2005, 17h55

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