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

    • proxy等set、环境变量信息共享操作系统的CMD的配置
    • 注意异常处理、进程的回收
    • 下面实现的缺点是,返回的字符串中有冗余数据,如打开CMD时的运行环境信息,因此可能要自己再去过滤出来哪些才是命令返回的数据
    • 不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
        /// <summary>
        /// 
        /// </summary>
        public class Cmd
        {
            /// <summary>
            /// 
            /// </summary>
            /// <param name="cmd"></param>
            public static string RunCmd(string cmd)
            {
                using (Process proc = new Process())
                {
                    proc.StartInfo.CreateNoWindow = true;
                    proc.StartInfo.FileName = "cmd.exe";
                    proc.StartInfo.UseShellExecute = false;
                    proc.StartInfo.RedirectStandardError = true;
                    proc.StartInfo.RedirectStandardInput = true;
                    proc.StartInfo.RedirectStandardOutput = true;
                    proc.Start();
                    proc.StandardInput.WriteLine(cmd);
                    proc.StandardInput.WriteLine("exit");
                    string outStr = proc.StandardOutput.ReadToEnd();
                    proc.Close();
                    return outStr;
                }
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="programName"></param>
            /// <param name="cmd"></param>
            public static void RunProgram(string programName, string cmd)
            {
                using (Process proc = new Process())
                {
                    proc.StartInfo.CreateNoWindow = true;
                    proc.StartInfo.FileName = programName;
                    proc.StartInfo.UseShellExecute = false;
                    proc.StartInfo.RedirectStandardError = true;
                    proc.StartInfo.RedirectStandardInput = true;
                    proc.StartInfo.RedirectStandardOutput = true;
                    proc.Start();
                    if (cmd.Length != 0)
                    {
                        proc.StandardInput.WriteLine(cmd);
                    }
                    proc.Close();
                }
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="programName"></param>
            public static void RunProgram(string programName)
            {
                RunProgram(programName, "");
            }
        }
    
  • 相关阅读:
    HTML5 WebAudioAPI-实例(二)
    HTML5 WebAudioAPI简介(一)
    HTML5 <Audio/>标签Api整理(二)
    HTML5 <Audio>标签API整理(一)
    CSS3 box-sizing 属性
    CSS3新增Hsl、Hsla、Rgba色彩模式以及透明属性(转)
    CSS3 颜色值HSL表示方式&简单实例
    C#使用Process类调用外部程序(转)
    乐视手机查看运行内存方法、EUI(Eco User Interface)乐视系统查看手机运行内存方法
    HTML5媒体播放说明
  • 原文地址:https://www.cnblogs.com/wyp1988/p/11388622.html
Copyright © 2011-2022 走看看