Saltar al contenido

Como ejecutar comandos de msdos desde vb.net

Podemos hacerlo con Shell, en mi caso yo lo hice con Shell, monté un fomulario con un textbox donde recogía el comando y un botón ejecutar.
(También puse una label para saber por donde pasaba, pues es muy vulnerable a errores).

Esto es el código que está en el evento click del botón:

Sub Button1Click(sender As Object, e As EventArgs)
‘Shell(”cmd”, AppWinStyle.NormalFocus) – Opciones de shell
try
Shell(contenidoCaja)
label1.Text=”…todo bien”
Catch noHayNada As System.NullReferenceException
label1.Text=”Escribe algo, membrillo”
Catch comandoErroneo As System.IO.FileNotFoundException
label1.Text=”Debe ser un comando valido de ms-dos”
Catch Errores As Exception
label1.Text=”Ni idea, algo ha fallado”
End Try
End Sub

Le he puesto un control de errores pues, si lo dejas vacio o con cualquier problema de sintaxis da error y te saca del programa. Comentar que con Shell no se puede capturar lo que devuelve ms-Dos.

Para poder ejecutar comandos y capturar lo que devuelve tendríamos que realizarlo con:
ProcessStartInfo()
y capturarlo en un
System.IO.StreamReader = x.StandardOutput
Cuando yo lo probé me funcionó para algunos comandos de msdos pero no para los que yo quería.
Os pongo un enlace a una web con un ejemplo:
http://micsharp.wordpress.com/2008/08/14/capturar-salida-de-un-proceso-cmd-ping/

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Comentarios (2)

Hola.

Me ha pasado igual que a Ud.

Me funciono para algunos comandos y preciso para el que necesito, no. ¿Sabe cual es la causa? ¿Conoce la solución?

Saludos

Responder

No ni idea, a mi me funcionó con los que necesitaba en aquel momento, no obstante , había más maneras de invocar comandos y es posible que alguna te funcione.
Suerte!

Responder