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
1 2 3 4
|
FOR /F "tokens=1,* delims= " %%i in ("%~dp0target.txt") DO (
CALL cscript "%~dp0script.vbs" %i %j %k
) |
target.txt
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
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:
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:
\\...\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
Partager