Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ejecutar archivo .vbs desde .NET

19 views
Skip to first unread message

Miguel Gómez

unread,
Dec 2, 2009, 12:28:15 PM12/2/09
to
Hola a todos:

Pregunta de novato:

�C�mo puedo ejecutar un script .vbs desde c�digo c#.? El script devuelve
valores que escribo en la consola usando "echo". La idea es recuperar esos
"echo's" y guardarlos en una string. Ser�a algo as�:

string[ ] resultado = "Ejecutar .vbs"

El script se ejecutar�a, y los echo's que devuelve, los guardar�a en una
matriz de string.

�Alguna sugerencia?

Desde ya muchas gracias y un saludo.

Miguel

Alberto Poblacion

unread,
Dec 3, 2009, 3:24:03 AM12/3/09
to
"Miguel G�mez" <m_go...@hotmail.com> wrote in message
news:usyQWT3c...@TK2MSFTNGP02.phx.gbl...

> �C�mo puedo ejecutar un script .vbs desde c�digo c#.? El script devuelve
> valores que escribo en la consola usando "echo". La idea es recuperar esos
> "echo's" y guardarlos en una string. Ser�a algo as�:
>
> string[ ] resultado = "Ejecutar .vbs"
>
> El script se ejecutar�a, y los echo's que devuelve, los guardar�a en una
> matriz de string.
>
> �Alguna sugerencia?

Puedes usar la clase Process (en System.Diagnostics) para lanzar el
script, y capturar su salida standard mediante la propiedad StandardOutput
del Process. Algo parecido a lo siguiente (no lo he probado):

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "CMD.exe";
p.StartInfo.Arguments = "/C Ejecutar.vbs";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();
string salida = p.StandardOutput.ReadToEnd();
p.WaitForExit();

En el string "salida" tienes todo lo que ha escrito el script. Si lo quieres
trocear para pasarlo a una matriz de strings, puedes hacerlo f�cilmente
mediante un StringReader, o el m�todo Split().

0 new messages