美文网首页
C# 调用windows命令行

C# 调用windows命令行

作者: 堆石成山 | 来源:发表于2020-04-19 12:10 被阅读0次

    话不多说直接贴代码:

    using System.Diagnostics;
    
    namespace cmd
    {
        /// <summary>
        /// 调用cmd命令行
        /// </summary>
        public static class cmd
        {
            /// <summary>
            /// 发命令
            /// </summary>
            /// <param name="commandLine"></param>
            /// <returns></returns>
            public static string Cmd(string commandLine)
            {
                commandLine = commandLine.Trim().TrimStart('&') + "&exit";//&执行两条命令的标识,这里第二条命令的目的是当调用ReadToEnd()方法是,不会出现假死状态
                string outputMsg = "";
                Process pro = new Process();
                pro.StartInfo.FileName = "cmd.exe";//调用cmd.exe
                pro.StartInfo.UseShellExecute = false;//是否启用shell启动进程
                pro.StartInfo.RedirectStandardError = true;
                pro.StartInfo.RedirectStandardInput = true;
                pro.StartInfo.RedirectStandardOutput = true;//重定向的设置
                pro.StartInfo.CreateNoWindow = true;//不创建窗口
                pro.Start();
                pro.StandardInput.WriteLine(commandLine);//执行cmd语句
                pro.StandardInput.AutoFlush = true;
                
                outputMsg+= pro.StandardOutput.ReadToEnd();//读取返回信息
                //outputMsg=outputMsg.Substring(outputMsg.IndexOf(commandLine)+commandLine.Length);//返回发送命令之后的信息
                     
                pro.WaitForExit();//等待程序执行完退出,不过感觉不用这条命令,也可以达到同样的效果
                pro.Close();
    
                return outputMsg;
            }
        }
    }
    

    只要会这个,其他的应用就好办了。比如Ping。

    相关文章

      网友评论

          本文标题:C# 调用windows命令行

          本文链接:https://www.haomeiwen.com/subject/mjeubhtx.html