Ejecutar en linea de comandos

04/05/2006 - 00:27 por Marcelo Sosa | Informe spam
Buenas,
desde ya perdonen la burrada, pero no le encuentro la vuelta :-(

Necesito ejecutar un programa que funciona en linea de comandos (cmd),
pasandole a su vez algunos parametros, ej:

test.exe -r C:\data -c 'algo mas'

El tema es que lo puedo hacer desde un .bat y a este ejecutarlo desde
VB, pero no me termina de convencer que se levante la consola de
windows, por mas que se cierre despues, me gustaria hacerlo todo desde
VB .NET.

muchas gracias por cualquier comentario, saludos.

Preguntas similare

Leer las respuestas

#1 Lucas
04/05/2006 - 03:35 | Informe spam
No lo he probado, porque no tengo tu programa, pero creo con el método
Process.Start() obtendrías lo que quieres.

Process.Start(ruta, parámetros)

ruta: pones la ruta donde está el archivo test.exe
parámetros: pues los parámetros

Process.Start("c:\test.exe", "-r C:\data -c 'algo mas'")

Como comprenderás, no lo puedo probar, pero creo que debería funcionar.

Si no fuera mucha molestia, te pediría que me avises si te funcionó o no.
Ahora, solo me estoy dedicando a la universidad y cuento con más tiempo para
revisar estos temas.

Espero haberte ayudado. Nos vemos.
Respuesta Responder a este mensaje
#2 Jorge Serrano [MVP VB]
04/05/2006 - 09:03 | Informe spam
Hola Marcelo,

tal y como te indica Lucas, te debería funcionar la instrucción:

Process.Start("start c:\windowsotepad.exe")

No obstante, también podrías utilizar algo parecido a:

Dim p As New Process


With p.StartInfo
.UseShellExecute = False
.FileName = "c:\windowsotepad.exe"
.Arguments = "MiTítulo"
.RedirectStandardOutput = True
End With

If p.Start() Then
p.WaitForExit()
End If

Este otro ejemplo esperaría a que se cerrara el bloc de notas y la
aplicación de consola continuaría ejecutándose después de cerrar la
aplicación, porque devolvería así el control a la aplicación.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Marcelo Sosa" wrote:

Buenas,
desde ya perdonen la burrada, pero no le encuentro la vuelta :-(

Necesito ejecutar un programa que funciona en linea de comandos (cmd),
pasandole a su vez algunos parametros, ej:

test.exe -r C:\data -c 'algo mas'

El tema es que lo puedo hacer desde un .bat y a este ejecutarlo desde
VB, pero no me termina de convencer que se levante la consola de
windows, por mas que se cierre despues, me gustaria hacerlo todo desde
VB .NET.

muchas gracias por cualquier comentario, saludos.

Respuesta Responder a este mensaje
#3 Marcelo Sosa
04/05/2006 - 20:41 | Informe spam
Muchisimas gracias, ahora lo voy a probar y les contesto.
El tema es que al ser un programa que funciona solo en consola, no me
permitia ejecutarlo de otra manera.

Dicho programa es para crear backups de bases de datos MySQL, mysqldump.exe.

Lo pruebo y les contesto.


Buenas,
desde ya perdonen la burrada, pero no le encuentro la vuelta :-(

Necesito ejecutar un programa que funciona en linea de comandos (cmd),
pasandole a su vez algunos parametros, ej:

test.exe -r C:\data -c 'algo mas'

El tema es que lo puedo hacer desde un .bat y a este ejecutarlo desde
VB, pero no me termina de convencer que se levante la consola de
windows, por mas que se cierre despues, me gustaria hacerlo todo desde
VB .NET.

muchas gracias por cualquier comentario, saludos.
Respuesta Responder a este mensaje
#4 Marcelo Sosa
05/05/2006 - 23:22 | Informe spam
Al fin!!
Lo pude hacer funcionar, lo que me decian es correcto, pero no se
ejecutaba como yo queria, no me creaba los backups de las bases de
datos, se abria la consola y no pasaba nada.
Al final probe pasarle como argumentos la ruta completa del ejecutable
mas sus parametros y llamar a la consola directamente, de esta forma:

Dim p As New Process

With p.StartInfo
.FileName = "cmd"
.Arguments = "/C" + "C:\test.exe -parametros"
.CreateNoWindow = True
.UseShellExecute = False
.RedirectStandardOutput = True
End With

If p.Start() Then
p.WaitForExit()
End If

y asi si funciono, muchisimas gracias por la guia y ejemplos, saludos y
hasta pronto.
Marcelo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida