Foros del Web » Programación para mayores de 30 ;) » .NET »

Ejecutar programa de línea de comandos (ms-dos)

Estas en el tema de Ejecutar programa de línea de comandos (ms-dos) en el foro de .NET en Foros del Web. Hola: el caso es que estaba interesado en ejecutar un programa que es una aplicación de consola, desde una aplicación .net, para que sea más ...
  #1 (permalink)  
Antiguo 20/04/2010, 01:39
 
Fecha de Ingreso: octubre-2006
Mensajes: 53
Antigüedad: 18 años, 1 mes
Puntos: 0
Ejecutar programa de línea de comandos (ms-dos)

Hola:

el caso es que estaba interesado en ejecutar un programa que es una aplicación de consola, desde una aplicación .net, para que sea más cómo de usar.

Sé cómo se ejecuta el programa, pero me gustaría saber si hay alguna forma de que en esta aplicación .net se puedan caputarar los mensajes de esta aplicación de línea de comandos y mostrarlos en algún cuadro de texto o algo. Los mensajes que ofrece son si todo ha ido bien, o si no, qué errores se han producido... etc.



Muchas gracias.
Daimroc.
  #2 (permalink)  
Antiguo 21/04/2010, 04:11
 
Fecha de Ingreso: octubre-2006
Mensajes: 53
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Ejecutar programa de línea de comandos (ms-dos)

Bueno, he conseguido ejecutar un programa, en concreto el flac (compresor de audio), del modo siguiente:

Process pProcess = new System.Diagnostics.Process();
pProcess.StartInfo.FileName = "flac.exe";
pProcess.StartInfo.Arguments = "-d \"01.flac\"";
pProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pProcess.StartInfo.UseShellExecute = false;
pProcess.StartInfo.RedirectStandardOutput = true;
pProcess.StartInfo.CreateNoWindow = true;
pProcess.Start();
pProcess.Wait*****it();

// Display returned console information if any
StreamReader srOut = pProcess.StandardOutput;
//rtx_Mensajes.Text = srOut.ReadToEnd();
rtx_Mensajes.AppendText(srOut.ReadToEnd());
srOut.Close();



En un richtexbox, guardo la salida del programa. Bien, aquí está el problema.

Si simplemente ejecuto el flac, sin argumentos, sale una ayuda básica para indicar cómo se usa el programa. Esto se guarda correctamente en el richtextbox.

Esto es lo mismo que obtengo si en línea de comandos hago lo siguiente:

flac >texto.txt

En el txt se guarda lo mismo que en textbox.

Sin embargo, si utilizo argumentos, para descomprimir, como indico en el ejemplo, no se guarda nada en el textbox. Yo quiero ver el progreso de la compresión y los mensajes tras finalizar el proceso. Es decir, quiero ver en el textbox lo mismo que se está viendo por consola, en tiempo real, el progeso del proceso.

Además, si hago en consola de comandos lo siguiente:

flac -d 01.flac >texto.txt

tampoco se guarda nada en el fichero de texto.

¿Alguien sabe cómo puede ver en el textbox el texto de la consola de comandos cuando utilizo parámetros?.



Muchas gracias.
Daimroc.

Etiquetas: comandos, ejecutar, ms-dos, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:22.