zoukankan      html  css  js  c++  java
  • C# 执行CMD命令

    C#执行CMD命令进行相关操作,记录一下。

            /// <summary>
            /// 执行CMD命令
            /// </summary>
            /// <param name="cmd">要执行的命令</param>
            /// <returns></returns>
            public static string RunCMDCommand(string cmd)
            {
                string cmdPath = "C:\Windows\System32\cmd.exe";   //cmd.exe执行文件目录
                cmd = cmd.Trim().TrimEnd('&') + "&exit";  //不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
    
                string result = string.Empty;
                Process process = new Process();
                try
                {
                    //设置要启动的执行程序
                    process.StartInfo.FileName = cmdPath;
    
                    //是否使用操作系统shell启动进程
                    process.StartInfo.UseShellExecute = false;
                    //应用程序的输入是否从Process.StandardInput流中读取/是否接受来自调用程序的输入信息
                    process.StartInfo.RedirectStandardInput = true;
    
                    //是否将应用程序的输出写入Process.StandardOutput流中/是否调用程序获取输出信息
                    //置为false时StandardOutput.ReadToEnd获取异常
                    process.StartInfo.RedirectStandardOutput = true;
    
                    process.StartInfo.RedirectStandardError = true;
                    process.StartInfo.CreateNoWindow = true;
    
                    process.Start();
    
                    //向cmd窗口写入命令
                    process.StandardInput.WriteLine(cmd);
                    process.StandardInput.AutoFlush = true;
    
                    //获取cmd窗口的输出信息
                    result = process.StandardOutput.ReadToEnd();
                    process.WaitForExit();//等待程序执行完退出进程
                    process.Close();
                }
                catch(Exception ex)
                {
                    //记录错误日志信息
                    //log4net
                    result = string.Empty;
                }
                finally
                {  
                    //释放
                    process.Dispose();
                }
                return result;
            }
    

     调用:

                string cmdStr = "***************";    //要执行的命令
                string cmdResult=RunCMDCommand(cmdStr);
                MessageBox.Show("CMD命令处理结果:"+cmdResult);

    欢迎相互交流学习!

    jiayan1578@outlook.com

  • 相关阅读:
    TeamViewer的替代品:realVNC
    Introduction of Generator in Python
    Excel: assign label to scatter chart using specific cell values
    reverse/inverse a mapping but with multiple values for each key
    虚拟化与云计算
    现代计算机简介
    CentOS 7 安装中网络设置111
    机械硬盘原理
    文件系统
    最重要的块设备——硬盘
  • 原文地址:https://www.cnblogs.com/jiayan1578/p/11933604.html
Copyright © 2011-2022 走看看