Cómo analizar la salida de línea de comandos de c #?

Quiero ejecutar una aplicación (aplicación de línea de comando) desde C # … y quiero después de ejecutar esta aplicación y proporcionarle la entrada, quiero analizar el resultado que resultará. Desde entonces, generará muchas cosas, y quiero tomar, solo las cosas que lo necesito de él …

Cómo puedo hacer eso ??

¿Cómo puedo obtener el resultado en el c # y luego tomar solo las cosas que lo necesito?

Para ejecutar la línea de comando en C # … estoy pensando en usar la forma “Jeff MC”, que él lo explicó en este hilo Cómo: Ejecutar la línea de comando en C #, obtener resultados STD OUT

Muchas gracias

Hay una forma más de obtener todos los resultados como eventos cuando la otra aplicación de la consola los cmd_DataReceived Cuando se produce un error, se cmd_Error y se cmd_Error cada vez que se produce un error en la otra aplicación.

Si desea analizar el resultado, probablemente el manejo de estos eventos sea una mejor manera de leer los resultados y manejar los errores en la otra aplicación cuando ocurra.

 using System; using System.Diagnostics; namespace InteractWithConsoleApp { class Program { static void Main(string[] args) { ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); cmdStartInfo.FileName = @"C:\Windows\System32\cmd.exe"; cmdStartInfo.RedirectStandardOutput = true; cmdStartInfo.RedirectStandardError = true; cmdStartInfo.RedirectStandardInput = true; cmdStartInfo.UseShellExecute = false; cmdStartInfo.CreateNoWindow = true; Process cmdProcess = new Process(); cmdProcess.StartInfo = cmdStartInfo; cmdProcess.ErrorDataReceived += cmd_Error; cmdProcess.OutputDataReceived += cmd_DataReceived; cmdProcess.EnableRaisingEvents = true; cmdProcess.Start(); cmdProcess.BeginOutputReadLine(); cmdProcess.BeginErrorReadLine(); cmdProcess.StandardInput.WriteLine("ping www.bing.com"); //Execute ping bing.com cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. cmdProcess.WaitForExit(); } static void cmd_DataReceived(object sender, DataReceivedEventArgs e) { Console.WriteLine("Output from other process"); Console.WriteLine(e.Data); } static void cmd_Error(object sender, DataReceivedEventArgs e) { Console.WriteLine("Error from other process"); Console.WriteLine(e.Data); } } }