ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

C#调用CMD程序(1/2)

来源:网络整理     时间:2016-02-21     关键词:

本篇文章主要介绍了"C#调用CMD程序",主要涉及到方面的内容,对于Windows 7jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 最近写了两个小程序都要调用Windows自带的命令行程序,一个是调用Openfiles.exe查询正在编辑的共享文档,一个是调用DiskPart.exe查询硬盘...

最近写了两个小程序都要调用Windows自带的命令行程序,一个是调用Openfiles.exe查询正在编辑的共享文档,一个是调用DiskPart.exe查询硬盘状态。两种命令行程序调用有点不同,记录一下。

1.用ProcessStartInfo配置参数调用。

这种是在CMD里直接带参数输入的,要注意的是要处理错误输出,可能同时有错误和标准输出的。

            ProcessStartInfo start = new ProcessStartInfo("openfiles");//设置运行的命令行程序,不在系统环境变量的要输入完整路径            start.Arguments = "/Query /V /NH /S " + host + " /U " + user + " /P " + passWord;   //命令行程序的参数            start.CreateNoWindow = true;//不显示dos命令行窗口            start.RedirectStandardOutput = true;//标准输出            start.RedirectStandardInput = true;//标准输入            start.RedirectStandardError = true;//错误输出            start.UseShellExecute = false;////指定不使用系统的外壳程序,而是直接启动被调用程序本身            Process p = Process.Start(start);
            StreamReader reader = p.StandardOutput;//截取输出流            errorMSG = p.StandardError.ReadLine(); //读取错误输出string result = reader.ReadToEnd();    //读取标准输出
            p.WaitForExit();    //等待程序执行完退出进程            p.Close();    //关闭进程            reader.Close();    //关闭流        

2.用Process..StandardInput.WriteLine方法输入的。

这类通常可以直接双击打开运行等待输入。要注意需要输入exit退出后才读取到输出的。这种也可以将输入先写在单独的文件然后将文件作为参数输入,除非经常要修改作测试不然写参数在文件有乜好?

相关图片

相关文章