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

VBScript Discussion :

VBS : exécuter .bat


Sujet :

VBScript

  1. #1
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut VBS : exécuter .bat
    Bonjour à tous !

    J'aimerai pouvoir exécuter depuis un .vbs le contenu d'un .bat.
    Je ne souhaite pas exécuter le .bat directement car sinon les variables d'environnements définies dans ce .bat ne seront pas interprétés par mon .vbs.

    J'aimerai donc en vbscript lire le contenu de mon .bat et exécuter chaque ligne.
    Est-possible ?

    J'ai déjà fait cela mais ça n'a pas fonctionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim filesys, readfile, contents 
    set filesys = CreateObject("Scripting.FileSystemObject") 
    set readfile = filesys.OpenTextFile("c:\env.bat", 1, false) 
    do while readfile.AtEndOfStream=false 
         contents = readfile.ReadLine 
         WshShell.Run WScript.Echo contents
    loop 
    readfile.close
    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut
    Citation Envoyé par binouzzz19 Voir le message
    Bonjour à tous !
    J'aimerai pouvoir exécuter depuis un .vbs le contenu d'un .bat.
    Je ne souhaite pas exécuter le .bat directement car sinon les variables d'environnements définies dans ce .bat ne seront pas interprétés par mon .vbs.
    J'aimerai donc en vbscript lire le contenu de mon .bat et exécuter chaque ligne.
    Est-possible ?
    J'ai déjà fait cela mais ça n'a pas fonctionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim filesys, readfile, contents 
    set filesys = CreateObject("Scripting.FileSystemObject") 
    set readfile = filesys.OpenTextFile("c:\env.bat", 1, false) 
    do while readfile.AtEndOfStream=false 
         contents = readfile.ReadLine 
         WshShell.Run WScript.Echo contents
    loop 
    readfile.close
    Merci de votre aide.
    Salut
    Essaye ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    dim filesys, readfile, contents,Result 
    set filesys = CreateObject("Scripting.FileSystemObject") 
    set readfile = filesys.OpenTextFile("c:\env.bat",1) 
    Set WshShell = CreateObject("WScript.Shell")
    Do Until readfile.AtEndOfStream
         contents = readfile.ReadLine 
    	 com="cmd /c" & contents
    	 MsgBox contents
    Result=WshShell.Run(com,1,True) 'l'option 1 pour rendre l'execution de la console MS-DOS visible
    Result=WshShell.Run(com,0,True) 'l'option 0 pour rendre l'execution de la console MS-DOS invisible 
    loop 
    readfile.close
    ou bien utiliser tout simplement ce petit code qui donne le même résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim com,Result
    Set WshShell = CreateObject("WScript.Shell")
    com="cmd /c c:\env.bat" 
    Result=WshShell.Run(com,1,True)'Option 1 Console Visible.Option 0 Console Invisible

  3. #3
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    Merci de ta réponse hackoofr,

    Cependant, je ne pense pas que cela me convienne car dans les deux cas que tu me proposes, il y a la commande "cmd /c" qui ouvrira quoi qu'il arrive (visible ou invisible) un nouvel invité de commande et donc les commandes présentes dans ce .bat ne seraient pas prises en compte par l'invité de commande qui lance mon vbs.

    J'ai finalement trouvé une autre solution, en fait, étant donné que dans mon env.bat, je n'ai que des , je fais un split sur le "=" puis j'ajoute ma clé sans les 4 caractères du début (pour enlever le "SET ") dans les variables d'environnement avec la valeur "valeur".

    Merci quand même.
    Cordialement.

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut
    Citation Envoyé par binouzzz19 Voir le message
    J'ai finalement trouvé une autre solution, en fait, étant donné que dans mon env.bat, je n'ai que des , je fais un split sur le "=" puis j'ajoute ma clé sans les 4 caractères du début (pour enlever le "SET ") dans les variables d'environnement avec la valeur "valeur".
    Merci quand même.
    Cordialement.
    Salut binouzzz19
    Etant donnée que tu as trouvé la solution peut-tu nous partager ta solution Finale avec les deux codes VBS et env.bat afin de voir de plus prés tes astuces pour résoudre ce genre de problème
    Merci
    Cordialement

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

Discussions similaires

  1. Exécution .bat / Fichier log
    Par Carambar dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 22/08/2016, 15h56
  2. [Batch] Lancer .vbs via .bat (runas) (Windows XP)
    Par titi04 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 25/02/2015, 17h08
  3. Problème de droit pour exécuter .bat(vista)
    Par jps020258 dans le forum Administration
    Réponses: 1
    Dernier message: 11/06/2010, 09h39
  4. [Système] exécuter .bat en utilisant php
    Par farfella dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2008, 14h38
  5. ligne de commande à convertir en VBS ou .bat
    Par topino dans le forum VBScript
    Réponses: 2
    Dernier message: 02/04/2008, 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