【轉】C#程式調用cmd.exe執行命令

來源:互聯網
上載者:User

標籤:dir   stand   lsp   cell   str   串連   啟動   containe   logs   

代碼部分

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);

 

轉載地址:http://www.cnblogs.com/njl041x/p/3881550.html

【轉】C#程式調用cmd.exe執行命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.