KB-104311: Retornando o resultado de um script do Windows Script Host (WSH).

Descrição:

Como retornar o resultado da execução de um script do objeto WSH – Windows Script Host (WScript Object) disparado a partir E3? Por exemplo: posso obter a string do resultado da execução de um comando via Command Prompt?

command prompt

Solução:

Sim, é possível retornar o resultado da execução de um script do WSH disparado via Elipse E3. Para isso, é preciso entender melhor o que é o Windows Script Host, e como ele funciona.

O Windows Script Host, também conhecido como “WSH”, é uma infraestrutura de script abrangente para a plataforma Microsoft® Windows®. O Windows Script fornece dois mecanismos de script: o Visual Basic® Scripting Edition e o Microsoft JScript®. Essas ferramentas permitem o desenvolvimento de scripts para a realização de várias tarefas dentro do ambiente Windows. Como o ambiente WSH é extensível, também é possível utilizar outras linguagens de programação, como por exemplo Python, entre outros.

Ele também inclui vários métodos de automação compatíveis com a plataforma COM, permitindo assim a execução de tarefas por meio do modelo de objetos do WSH.

WSH script

Portanto, para retornar a string contendo o resultado da execução do comando via prompt no Elipse E3, será criado um objeto WshShell, utilizando a função StdOut.ReadAll do método Exec():

Sub CommandButton2_Click()
strCMD = "Xcopy ""C:SourceDoc1.txt"" ""E:Destination"" /Y"
Set WshShell = CreateObject("WSCript.shell")
strReturn = WshShell.Exec(strCMD).StdOut.ReadAll
msgbox strReturn
End Sub

retorno do resultado

Exemplo de utilização realizando o comando ping:

exemplo de retorno com o comando ping

Sub CommandButton1_Click()
strCMD = "ping 192.168.8.8" 
set WshShell = CreateObject("WScript.Shell") 
strResult = WshShell.Exec(strCMD).StdOut.ReadAll 
MsgBox strResult 
End Sub

retornar resultado script WSH

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *