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

Python Discussion :

Lancement d'un bat invisible via script VBS


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Août 2014
    Messages : 40
    Par défaut Lancement d'un bat invisible via script VBS
    Bonjour à tous,

    Et oui encore moi !
    Voici mon nouveau problème :

    J'ai crée ce script VBS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set oShell = CreateObject ("Wscript.Shell") 
    Dim strArgs
    strArgs = "cmd /c Test.bat"
    oShell.Run strArgs, 0, True
    Set oWSHell = Nothing
    Qui doit lancer ce bat en invisible et attendre qu'il se termine !
    Ce bat lance le programme Test.exe avec comme argument test.qp et écris un fichier log en sortie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.exe test.qp > test.log
    SAUF QUE, quand je lance le script VBS via la ligne python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    os.chdir(path)
            os.system( path+"\\Test.vbs")
    Il m'ouvre une fenêtre DOS qui reste ouverte le temps de l'execution du programme Test !
    Mais voila si je m'embête à écrire un VBS c'est bien pour lancer le bat en invisible et ne pas m'afficher cette fichue fenêtre DOS !!
    Pourtant quand je lance le VBS en unitaire ça fonctionne...

    Merci pour votre aide je m'arrache les cheveux en attendant

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Essaie de renommer le programme Python qui lance le vbs avec l'extension ".pyw". Ainsi, il sera exécuté par pythonw.exe qui n'affiche pas la console.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Août 2014
    Messages : 40
    Par défaut
    J'ai essayé mais pas de changement :/

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Essaye avec os.popen() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    from os import popen
     
    obj=os.popen(path+"\\Test.vbs")
    obj.read()
    Et mets bien-sûr en pyw.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Août 2014
    Messages : 40
    Par défaut
    J'ai essayé mais ça lance pas le .bat :/
    ça ne fait que l'ouvrir et le fermer j'ai l'impression

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour

    Ce n'est pas un problème spécifique python. Sous windows, il n'est pas possible d'exécuter un bat ou un cmd via l'interpréteur de commande sans que celui-ci n'ouvre une fenêtre

    Vous avez donc deux solutions.

    1. Coder ce que fait le bat mais en vbs
    2. Coder cela en python, y-compris les appels aux exécutables externes

    Bon courage !

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

Discussions similaires

  1. [BODS 12.2] Lancement de .bat via script
    Par dnyyy dans le forum BODI
    Réponses: 11
    Dernier message: 05/08/2013, 17h12
  2. Lancement d'un job Talend via script
    Par bstevy dans le forum Exécution et industrialisation
    Réponses: 7
    Dernier message: 26/11/2009, 15h22
  3. création macro xls via script vbs
    Par avenGer59 dans le forum VBScript
    Réponses: 3
    Dernier message: 28/09/2009, 09h22
  4. Probleme recuperation d'une valeur : script vbs -> .bat
    Par pinpin_du_net dans le forum Windows
    Réponses: 3
    Dernier message: 10/05/2005, 12h43

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