**
C#:实现命令行读取数据信息操作(详细版)
**
C#的工程中,我们很常会用到打开cmd等命令,并进行一系列的操作,首先命令行的同步操作代码如下:
如果你不需要打开cmd命令时的其他冗余数据(前四行为冗余数据)
在
输入信息后加入
这样所有的数据信息就都存储到了output中,但是这只是开始!!
你有没有遇到过使用tracert这样的命令一点一点的读取出来输出的数据信息甚至不需要exitr> 下面的操作即可实现!
将代码中的
替换为
如果你需要使用同步的方式在每次读取之后将数据结果返回
即可以将代码封装在函数中,输入需要调用的命令,在调用函数中添加一个Getres_str()的函数,每次读取一行数据时,在while中使用此函数即可将数据一行一行的反馈。(Getres_str(string res_str)中只需要一个Console,过于简单,不再赘述)。
你以为这就完了同步的问题基本到这里就可以解决80%以上的问题了,那么!异步该怎么实现呢异步即开启线程来运行cmd命令,如果显示在winform中,即能实现先运行界面,再显示数据)
在某度上查阅的异步使用方式会发现产生一个调用cmd命令行,但是不知道如何输入操作指令了,因为异步的方式不支持pro.StandardInput.WriteLine(string); 输入操作命令了,
但是既然同步的方式这么好用,我们有没有什么办法可以继续使用这种方式来实现异步呢里就需要感谢Microsoft 的.NETFramework 4.0版本的框架了。
.NET4.0: 就这点需求单!砰!就出现了一个
将同步的命令封装在函数中,直接
这样就实现了,.NET确实强大如斯。
而当你执行的cmd命令是需要批准管理员权限的命令,比如使用netsh命令来修改适配器的DHCP状态,以及恢复静态IP地址等操作,
C#开启命令行的设置如下链接:
如何升级C#项目的权限
我刚刚接触C#这门语言,有不懂的地方以及不对的地方请各位专家们批评指正,此账 会长期在线,欢迎各位道友们留言,一定及时回复,一起学习进步!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!