C # program calls Cmd.exe to execute other EXE processes (with multiple parameters) and return process results to the string

Source: Internet
Author: User

usingSystem.Diagnostics;
publicclassCmdHelper    {        private staticstringCmdPath = @"C:\Windows\System32\cmd.exe";        /// <summary>        /// 执行cmd命令        /// 多命令请使用批处理命令连接符:        /// <![CDATA[        /// &:同时执行两个命令        /// |:将上一个命令的输出,作为下一个命令的输入        /// &&:当&&前的命令成功时,才执行&&后的命令        /// ||:当||前的命令失败时,才执行||后的命令]]>        /// 其他请百度        /// </summary>        /// <param name="cmd"></param>        /// <param name="output"></param>        publicstaticvoidRunCmd(stringcmd, outstringoutput)        {            cmd = cmd.Trim().TrimEnd(‘&‘) + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态            using (Process p = newProcess())            {                p.StartInfo.FileName = CmdPath;                p.StartInfo.UseShellExecute = false;        //是否使用操作系统shell启动                p.StartInfo.RedirectStandardInput = true;   //接受来自调用程序的输入信息                p.StartInfo.RedirectStandardOutput = true//由调用程序获取输出信息                p.StartInfo.RedirectStandardError = true;   //重定向标准错误输出                p.StartInfo.CreateNoWindow = true;          //不显示程序窗口                p.Start();//启动程序                //向cmd窗口写入命令                p.StandardInput.WriteLine(cmd);                p.StandardInput.AutoFlush = true;                 //获取cmd窗口的输出信息                output = p.StandardOutput.ReadToEnd();                p.WaitForExit();//等待程序执行完退出进程                p.Close();            }        }    }

Using the example

1: Display the MD5 checksum value of the A.txt file to the string

stringcmd =@"fciv.exe -add a.txt";

C # program calls Cmd.exe to execute other EXE processes (with multiple parameters) and return process results to a string

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.