栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何解析C#的命令行输出?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何解析C#的命令行输出?

还有一种将所有输出作为事件获取的另一种方法,当它们被另一个控制台应用程序

cmd_DataReceived
输出时,每当有输出时就引发该事件,而在另一个应用程序中
cmd_Error
出现错误时则引发所有事件。

如果要解析输出,则处理这些事件可能是读取输出并在发生错误时在其他应用程序中处理错误的更好方法。

using System;using System.Diagnostics;namespace InteractWithConsoleApp{    class Program    {        static void Main(string[] args)        { ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); cmdStartInfo.FileName = @"C:WindowsSystem32cmd.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);        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465302.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号