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 :

comment récupérer le résultat d'execution d'un vb script vers fichier bat


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut comment récupérer le résultat d'execution d'un vb script vers fichier bat
    Salut

    j'ai développer un vb script qui permet de renvoyer le resultat dans un message box :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function GetVersionNumber()
    	................................
                 ................................	     
    	GetVersionNumber= .....	
    end function
     
    Wscript.Echo GetVersionNumber


    Maintenant ,je veux récupérer la valeur affiché par le script dans un fichier de commande DOS .bat pour une autre nouvelle utilisation

    Merci pour votre aide

    elyusufi yasyn

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    je suis pas sur d'avoir tout compris ... peu être en le passant en paramètre d'appel du .bat

    MonVbs.vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Return = WshShell.Run("Monbat 0123456" , 1, true)
    et le .bat
    MonBat.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @Echo ---------------------------
    @Echo %1
    @Echo ---------------------------
    pause

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Salut

    Ce que je veux moi,

    Quant j'execute le fichier .bat ila m'affiche la valeur retourné par je script vbs


    c a d au lieu de cliquer sur vbs ,je vais cliquer sur .bat pour afficher la valeur retorné par la fonction
    GetVersionNumber
    du VBS

    Merci de votre aide

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    merci d'être + clair ...comment lance tu ton vbs ... ton .bat ...?... je t'ai montré du code pour lancer un .bat avec un paramètre depuis vbs... c'est pas bon. .?

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Salut

    Je lance le .bat en cliquant dessus ,la ou je veux récupérer la valeur retourné par le fonction du vbs

    et merci

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    il fait quoi ton .bat...?

    tu veux en faire quoi de cette valeur..?

    la récupérer ou...?

    tiens peu-être cela t'inspire :

    le .bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @Echo Off
    REM Passage en mode console
    wscript //H:CSCRIPT //b
    LeVBS
    ECHO FIN
    pause
    le .vbs :
    LeVbs.vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Wscript.Echo "Le numéro de version est " & 12345

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bon

    Voila le Script VBS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    function GetVersionNumber()
    	................................
                 ................................	     
    	GetVersionNumber= .....	
    end function
     
    'ici normalement la valeur affiché en message box
    Wscript.Echo GetVersionNumber
    Le fichier bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @echo off
     
    rem La ou je veux afficher la valeur retourné par la fonction GetVersionNumber du Script VBS
    J'éspére que je vous ai bien expliqué mon probléme
    et Merci pour votre aide

    Merci pour votre disponibilité

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par elyusufiyasyn
    ....
    J'éspére que je vous ai bien expliqué mon probléme
    et Merci pour votre aide

    Merci pour votre disponibilité
    ben non désolé je comprends toujours pas ce que tu veux faire ... ? afficher ou à l'écran ..? mon dernier code ne te conviens pas ..? tu la essayer ..?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Si j'ai bien compris, tu veux rediriger le résultat de GetVersionNumber dans un fichier .bat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Const conCheminFichierBat = "C:\"
    Const conNomFichierBat = "RésultatGetVersion.bat"
    Dim strNumeroVersion
     
    strNumeroVersion = GetVersionNumber
    subRedirectionFichierBat conCheminFichierBat, conNomFichierBat, strNumeroVersion
     
    '======= Fonctions et procédures ======
    function GetVersionNumber()
    	.......................
    	GetVersionNumber = ................	
    end function
     
    Sub subRedirectionFichierBat(strCheminFichierBat, strNomFichierBat, strValeurNumeroVersion)
    Dim objFSO, objFichierBat
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFichierBat = objFSO.OpenTextFile(strCheminFichierBat & strNomFichierBat, 2, false)
     
    objFichierBat.Write strValeurNumeroVersion
    End Sub
    Il va écrire ainsi à la fin du fichier .bat. ATTENTION, le fichier DOIT exister !
    EDIT : au temps pour moi, la commande écrase ce qui est dans le fichier .bat. Je fais les changements
    RE-EDIT : voir ma remarque plus bas

  10. #10
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Moi j'ai compris qu'il veut lancer son vbs à partir du .bat et ainsi récupérer la valeur retournée par sa fonction.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    A ce moment, il faudra mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cscript.exe "mon script de la mort qui tue.vbs"
    en début du .bat

  12. #12
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Ce que je veux faire c 'est exactement ce qu'a dit ced600

    executer .bat en récupérant la valeur envoyé par la fonction GetVersionNumber() du VBS

    Je pense que ca serais pas compliqué

    Merci d'avance

  13. #13
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    as tu essayé ce que ThulKash a proposé ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par elyusufiyasyn
    Ce que je veux faire c 'est exactement ce qu'a dit ced600

    executer .bat en récupérant la valeur envoyé par la fonction GetVersionNumber() du VBS

    Je pense que ca serais pas compliqué

    Merci d'avance
    ça je t'a déjà donné un exemple de code qui le fait plus haut... ! répond SVP au question qu'on te pose..!

  15. #15
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Oui pour afficher la valeur ca marche


    test.bat
    cscript.exe "test.vbs"
    mais mois je veux récuperer la valeur dans une variable

    test.bat
    SET var=valeur
    merci

  16. #16
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Bon en fait, le .bat ne supporte pas que le FSO l'ouvre en écriture.
    Si on ouvre le .bat en lecture par le FSO, pas de soucis on peut lire les lignes, etc. Par contre, sitôt qu'on ouvre le fichier en écriture, il efface tout le contenu du .bat
    je ne vois pas donc pas comment faire pour mettre le résultat à la suite de quoique ce soit... :'(

  17. #17
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Personnelement je ne souviens comment, mais je crois qu'en vbs on peut préciser au script qu'il doit retourner une valeur précise une fois le script fini. Son code de retour en quelque sorte, la il suffirait de préciser que le code retourner est la valeur retourner par la fonction GetVersionNumber().
    Puis dans le fichier .bat on la récupère dans une variable (je ne sais plus comment on fait cela non plus )

    Mais je me demande si ce qu'a écrit bbil ne fait pas cela :
    il fait quoi ton .bat...?

    tu veux en faire quoi de cette valeur..?

    la récupérer ou...?

    tiens peu-être cela t'inspire :

    le .bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @Echo Off
    REM Passage en mode console
    wscript //H:CSCRIPT //b
    LeVBS
    ECHO FIN
    pause
    le .vbs :
    LeVbs.vbs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wscript.Echo "Le numéro de version est " & 12345
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/11/2007, 15h59
  2. Réponses: 2
    Dernier message: 27/08/2007, 13h11
  3. Comment récupérer le résultat d'une requête ?
    Par vito12345 dans le forum JDBC
    Réponses: 1
    Dernier message: 18/02/2007, 10h33
  4. Comment récupérer le résultat d'un time ?
    Par ramislebob dans le forum Linux
    Réponses: 5
    Dernier message: 08/12/2006, 11h37
  5. Réponses: 3
    Dernier message: 24/03/2006, 13h52

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