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 :

Indice en dehors de la plage


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Indice en dehors de la plage
    Bonjour à tous, je viens vers vous avec un petit souci dans le cadre de la création d'un script de gestion tout bête mais qui me pose quelques soucis, je m'explique.

    Le tout se compose de 3 fichiers:
    runme.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FOR /F "tokens=1,* delims= " %%i in ("%~dp0target.txt") DO (
    	CALL cscript "%~dp0script.vbs" %i %j %k
    )
    target.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    1 toto none none
    1 tata none
    1 tutu none
    2 none TestGroup
    3 toto TestGroup
    3 tata TestGroup
    3 tata TestGroup
    script.vbs
    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
    ':: Déclarations diverses strINGS bOOLEANS
    Dim strComputer, strUser, strGroup, strChoice
    Dim bCheck
    
    ':: Attribution de valeur aux variable en récupèrant des arguments (paramètres) dans la ligne d'execution du script.
    Set objArgs = WScript.Arguments
        strChoice = objArgs(0)
    Set objArgs = WScript.Arguments
        strUser = objArgs(1)
    Set objArgs = WScript.Arguments
        strGroup = objArgs(2)
        
    ':: Récupération du nom de la Machine Locale
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Je ne mets que le début du code car en fait lorsque je lance le vbs par la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cscript \\...\script.vbs 1 toto none
    Tout fonctionne parfaitement mais lorsque je souhaite lancer mon script avec un traitement par lot, je me retrouve devant une jolie erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \\...\script.vbs(22,5) Erreur d'exécution Microsoft VBScript: Indice en dehors de la plage
    Sachant que la ligne 22 est celle en gras dans le code.

    Je poste donc ici mais en me demandant surtout si ce n'est pas le Batch qui pose souci :/ Si l'un d'entre vous a une petite idée sur la chose. Je suis preneur.

    En vous remerciant

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 178
    Points
    17 178
    Par défaut
    Salut
    Avec une petite recherche dans ce forum avec le mot Arguments, tu peux trouver une discussion ici qui donne ce lien vers la FAQ Comment utiliser les arguments en ligne de commande ?.
    Je pense que cela devrait t'aider.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Vu que je bosse un peu de mon coté, je me suis rendu compte que j'avais 2 erreurs, l'une désormais corrigée dans:
    script.vbs
    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
    ':: Déclarations diverses strINGS bOOLEANS
    Dim strComputer, strUser, strGroup, strChoice
    Dim bCheck
    
    ':: Attribution de valeur aux variable en récupèrant des arguments (paramètres) dans la ligne d'execution du script.
    Set objArgs = WScript.Arguments
    For I = 0 to objArgs.Count - 1
       strChoice = objArgs(I)
       strUser = objArgs(J)
       strGroup = objArgs(K)
    Next
        
    ':: Récupération du nom de la Machine Locale
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Voila en gras la modification apportée.

    Maintenant le souci est bien aussi au niveau que je pensai à la base dans mon batch: au lieu de lire le fichier .txt les 3 arguments et de les passer en paramètres, il donne les lettres i j k, je vais bien finir par trouver

    Edit :: Nos posts se sont croisés, merci pour la reponse, je planche sur mon second problème désormais

Discussions similaires

  1. Indice en dehors de la plage (erreur 9)
    Par Polotaz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/01/2012, 12h43
  2. "Erreur d'exécution '9'. Indice en dehors de la plage"
    Par bassiste dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/12/2008, 13h40
  3. [VB6]Err 9 - Indice en dehors de la plage
    Par Misha dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/11/2008, 18h34
  4. Indice en dehors de la plage
    Par Neuromancien2 dans le forum ASP
    Réponses: 3
    Dernier message: 15/06/2007, 14h11
  5. [VB6] Pb tableau 2D : indice en dehor de la plage
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/10/2006, 17h15

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