[VBS] Récupération d'une valeur créée par le script

Récupération d'une valeur créée par le script [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 24-02-2010 à 11:46:30    

Bonjour  :hello:  
 
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 :
  1. Dim strFile
  2. Dim Return
  3. strFile = "C:text.txt"
  4. Return = Convert_To_Value(strFile)
  5. WScript.Echo Return
  6. Public function Convert_To_Value(sFileRead)
  7.     Dim objFSO, objDictionary
  8.     Dim fRead
  9.     Dim temp, s
  10.     Set objDictionary = CreateObject("Scripting.Dictionary" )
  11.     Set objFSO = CreateObject("Scripting.FileSystemObject" )
  12.     Set fRead = objFSO.OpenTextFile(sFileRead, 1)
  13.     Do Until fRead.AtEndOfStream
  14.         line = fRead.ReadLine
  15.         objDictionary.Add line, line
  16.     Loop
  17.     temp = objDictionary.Items
  18.     For i = 0 To objDictionary.Count -1
  19.         s = s & temp(i) & vbCrLf
  20.     Next
  21.     Convert_To_Value = s
  22.     fRead.Close
  23. End function


En vous remerciant si vous avez une piste, je continue de chercher :)

Reply

Marsh Posté le 24-02-2010 à 11:46:30   

Reply

Marsh Posté le 25-02-2010 à 09:08:09    

Hello,
 
j'ai fini par renoncer à ce petit jeu. J'utilise un objet Shell avec une méthode Run pour lui faire lancer ma ligne comme si j'étais dans le BAT, j'pensai pouvoir éviter ca, mais au vu des recherches c'est bien mieux ainsi.
 
Merci à ceux qui ont regardé :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed