C#調用cmd命令

來源:互聯網
上載者:User

標籤:window   假死   roc   dir   data   視窗   private   end   程式   

using System.Diagnostics;public class CmdHelper    {        private static string CmdPath = @"C:\Windows\System32\cmd.exe";        /// <summary>        /// 執行cmd命令        /// 多命令請使用批處理命令串連符:        /// <![CDATA[        /// &:同時執行兩個命令        /// |:將上一個命令的輸出,作為下一個命令的輸入        /// &&:當&&前的命令成功時,才執行&&後的命令        /// ||:當||前的命令失敗時,才執行||後的命令]]>        /// 其他請百度        /// </summary>        /// <param name="cmd"></param>        /// <param name="output"></param>        public static void RunCmd(string cmd, out string output)        {            cmd = cmd.Trim().TrimEnd(‘&‘) + "&exit";//說明:不管命令是否成功均執行exit命令,否則當調用ReadToEnd()方法時,會處於假死狀態            using (Process p = new Process())            {                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();            }        }    }使用樣本樣本1:顯示ipconfig資訊string cmd =@"ipconfig/all";樣本2:開啟VS2010命令提示      string cmd =@"C:&cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC&vcvarsall.bat";樣本3:使用sn.exe工具產生金鑰組並顯示          string cmd =@"C:&cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC&vcvarsall.bat&sn -k d:\LicBase.snk&sn -p d:\LicBase.snk d:\LicBasePubKey.snk&sn -tp d:\LicBasePubKey.snk";調用string output = "";CmdHelper.RunCmd(cmd, out output);MessageBox.Show(output);

 

C#調用cmd命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.