Bonjour
Je ne poste pas souvent dans la section Programmation mais pour le coup, j'aurai bien besoin d'un petit coup de pouce.
Je cadre d'abord le sujet: j'ai plusieurs scripts VBS qui sont appelés par un batch (dans un but de scheduling bien entendu) et je souhaiterai que l'un de ces scripts VBS me renvoie en retour (en fin d'execution) une valeur que je puisse affecter à une variable de mon batch (donc externe à ce VBS).
Schématiquement ca se résume à ca:
--> Lancement BAT
--> Appel du VBS
--> Affectation du retour du VBS comme valeur d'une variable du batch (i.e: maVariable)
--> Appel d'une commande avec comme paramètre la variable (i.e: CALL net localgroup %maVariable%)
--> Fin du BAT
Voici le code que j'utilise dans mon VBS, il va lire un fichier texte et stocker son contenu dans une variable locale au script VBS... comment rendre cette variable disponible dans le BAT ou encore comment utiliser cette variable pour associer sa valeur à une variable du BAT.
Code :
- Dim strFile
- Dim Return
- strFile = "C:text.txt"
- Return = Convert_To_Value(strFile)
- WScript.Echo Return
- Public function Convert_To_Value(sFileRead)
- Dim objFSO, objDictionary
- Dim fRead
- Dim temp, s
- Set objDictionary = CreateObject("Scripting.Dictionary" )
- Set objFSO = CreateObject("Scripting.FileSystemObject" )
- Set fRead = objFSO.OpenTextFile(sFileRead, 1)
- Do Until fRead.AtEndOfStream
- line = fRead.ReadLine
- objDictionary.Add line, line
- Loop
- temp = objDictionary.Items
- For i = 0 To objDictionary.Count -1
- s = s & temp(i) & vbCrLf
- Next
- Convert_To_Value = s
- fRead.Close
- End function
|
En vous remerciant si vous avez une piste, je continue de chercher