[résolu] Récupérer résultat commande avec méthode run

Récupérer résultat commande avec méthode run [résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 27-04-2009 à 15:27:55    

Bonjour,
 
Soit le petit vbscript suivant
Set WshShell = WScript.CreateObject("WScript.Shell" )
commande = "c:\tmp\essai.bat"
return=wshshell.run(commande,true)
 
essai.bat affiche un résultat que je voudrais pouvoir traiter en tant que chaîne de caractères dans la suite du vbs
 
Est-il possible de récupérer le message ?


Message édité par rogntudjuuu le 27-04-2009 à 16:06:02
Reply

Marsh Posté le 27-04-2009 à 15:27:55   

Reply

Marsh Posté le 27-04-2009 à 15:44:42    

C'est possible en redirigeant la sortie vers un fichier grâce au signe supérieur, puis en lisant ce fichier :

Set WshShell = WScript.CreateObject("WScript.Shell" )  
commande = "c:\tmp\essai.bat >fichier_resultat"  
return=wshshell.run(commande,true)
 
Set objTextFile = objFSO.OpenTextFile("fichier_resultat", 1)
Do While objTextFile.AtEndOfStream <> True
    strText = objTextFile.ReadLine
    ...
Loop
objTextFile.Close
objFSO.DeleteFile(objTextFile)


Une autre méthode est d'utiliser Exec au lieu de Run :

Set objShell = WScript.CreateObject("WScript.Shell" )
commande = "c:\tmp\essai.bat  
Set objExecObject = objShell.Exec(commande)
 
Do While Not objExecObject.StdOut.AtEndOfStream
    strText = objExecObject.StdOut.ReadLine()
    ...
Loop

Voir http://www.microsoft.com/technet/s [...] x?mfr=true

Reply

Marsh Posté le 27-04-2009 à 16:05:46    

C'est dommage d'être obligé de passer par un fichier temporaire, mais on va faire avec !
 
Merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

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