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 :

passage de variable issu d'un vbs lors d'un cscript


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 6
    Par défaut passage de variable issu d'un vbs lors d'un cscript
    Bonjour à tous
    je suis débutant dans le langage VB

    J'ai créé un script vbs pour me permettre de vérifier l'existance d'un share sur un serveur distant.
    Si le share n'existe pas , je fait appel à un second vbs (récupéré sur le net) pour créer le partage sur la machine distante.

    Dans mon premier vbs, j'ai défini diférrente variable concernant le nom du serveur distant, le nom du partage ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sharename = toto
    sharepath = G:\users\" & sharename
    sharetype = DISK
    sharedesc = "Partage pour" & " "& sharename 
    shareserver = nomdnsduserver
    Mon problème se situe lors du lancement du second vbs via cscript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shell.run "cscript c:\createshare.vbs /C /N sharename /P sharepath /T sharetype /V sharedesc  /S shareserver /O sharelog"
    Les différents paramétres passés dans le cscript ne sont pas remplacés par la valeur réelle de la variable. Mais sont interprétés vraiement comme elles sont écrite (sharename,sharepath...) et non (toto, G:\users\" & sharename..., DISK...)

    Comment je peux faire pour que le cscript récupére lors de son lancement les donnnés et non les variables
    Merci

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Comme tu peux le voire, aprés avoir mis les balises CODE, on voit tout de suite qu'il y a un problème de guillemets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sharename = toto
    sharepath = "G:\users\" & sharename
    sharetype = DISK
    sharedesc = "Partage pour " & sharename 
    shareserver = nomdnsduserver
    mais peut être ne s'agit il que d'une erreur de frappe ou de copier/coller.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 6
    Par défaut
    Merci pour la réponse

    Le code inséré n'est qu'un exemple

    prenons par exemple que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    shareserver = "nomdnsduserver"
    sharename = "partageperso"
    Lors du lancement de la commande cscript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    shell.run "cscript c:\createshare.vbs /C /N sharename  /S shareserver"
    les paramètres pris en compte seront sharename et non pas la valeur de sharename .

  4. #4
    Expert éminent


    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
    Par défaut
    bonsoir,

    il faut sortir tes variables des guillemets .. comme tu le fais la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sharepath = "G:\users\" & sharename & ".toto"

  5. #5
    Expert éminent


    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
    Par défaut
    en sortant les variables de tes guillemets :

    Citation Envoyé par bbil Voir le message
    bonsoir,

    il faut sortir tes variables des guillemets .. comme tu le fais la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sharepath = "G:\users\" & sharename & ".toto"

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 6
    Par défaut
    Bonsoir à tous,

    Merci pour vos réponses

    J'avais effectivement bien un problème de guillemet et d'espace entre mes variable dans le cscript

    Il fallait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    objShell.run "cscript" & " " & "c:\createshare.vbs" & " " & "/C" & " " & "/N" & sharename
    Sharename est bien traduit par nomdupartage lors du lancement

    Bonne soirée

  7. #7
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Cette page contient les infos nécessaires:
    Working with Command-Line Arguments
    ou bien tout simplement la documentation script56.chm.

    Il me semble que vous voulez utiliser en particulière les arguments nommés, il faut donc lire avec attention la section "Named Command-Line Arguments".

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 6
    Par défaut
    bonsoir,

    il faut sortir tes variables des guillemets .. comme tu le fais la :

    sharepath = "G:\users\" & sharename & ".toto"
    Mais mais variables, fonctionnent bien dans le premier VB.

    Si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Wscript.Echo (sharename)
    il renvoit bien se que j'attend, c'est à dire 'monpartage'

    Mais dès le passage par la fonction cscript pour appeller le second VB
    Ca ne converti pas mais variable par leur valeur.

    En gros:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    shareserver = "monserveur"
    sharename = "monpartage"
    shell.run "cscript c:\createshare.vbs /C /N sharename  /S shareserver"
    Je souhaiterai avoir lors du lancement du csript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    shell.run "cscript c:\createshare.vbs /C /N monpartage  /S monserveur"
    Pour plus d'info, dans le VBS createshare.vbs ,qui est lancé via cscript,
    j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Wscript.Echo (parametre1)
    Wscript.Echo (parametre2)
    En résultat j'ai
    sharename (alors que je souhaite avoir monpartage)
    shareserver (alors que je souhaite avoir monserveur)

  9. #9
    Expert éminent


    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
    Par défaut
    Citation Envoyé par benzurebebe Voir le message
    Mais mais variables, fonctionnent bien dans le premier VB.

    Si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Wscript.Echo (sharename)
    ....
    normal ... dans ce code ta variable n'est pas dans les guillemets !

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 6
    Par défaut
    Citation Envoyé par bbil Voir le message
    normal ... dans ce code ta variable n'est pas dans les guillemets !
    Mais comment je dois lancer la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    shell.run "cscript c:\createshare.vbs /C /N sharename  /S shareserver"

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

Discussions similaires

  1. Passage de variable Javascript -> Vbs
    Par david56 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/09/2013, 11h16
  2. Réponses: 6
    Dernier message: 15/03/2010, 10h59
  3. Problème lors du passage de variable
    Par popo dans le forum Flash
    Réponses: 1
    Dernier message: 14/01/2008, 11h46
  4. passage de variables lors d'une redirection
    Par toma03 dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2007, 18h57
  5. [Cookies] passage de variable vbs à php
    Par Sheraf dans le forum Langage
    Réponses: 4
    Dernier message: 25/10/2005, 23h11

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