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

  • 相关阅读:
    Codeforces Round #594 (Div. 2) ABC题
    Codeforces Round #596 (Div. 2) ABCD题
    数据结构实验5——二叉树
    数据结构实验4——字符串匹配
    数据结构实验3——用栈求解算术表达式
    友链
    Codeforces Round #577 (Div. 2)
    Educational Codeforces Round 70 (Rated for Div. 2)
    Codeforces Round #578 (Div. 2)
    2020 Multi-University Training Contest 10(待补
  • 原文地址:https://www.cnblogs.com/jiayan1578/p/11933604.html
Copyright © 2011-2022 走看看