C#运行程序或dos命令

        static string RunCmd(string command)  
        {
            string name="cmd.exe";
            string cmd = command;
            string starpath = "";
            if (File.Exists(command) && command.Trim().Substring(command.Length-3).ToUpper()=="EXE")
            {
                name =command;
                starpath = command.Substring(0,command.LastIndexOf('//'));
                cmd = "";
            }
            //实例一个Process类,启动一个独立进程  
            Process p = new Process();       
            //Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法,下面我们用到了他的几个属性:  
            p.StartInfo.WorkingDirectory = starpath;
            p.StartInfo.FileName = name;           //设定程序名  
            p.StartInfo.Arguments = "/c " + cmd;    //设定程式执行参数  
            p.StartInfo.UseShellExecute = false;        //关闭Shell的使用  
            p.StartInfo.RedirectStandardInput = true;   //重定向标准输入  
            p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出  
            p.StartInfo.RedirectStandardError = true;   //重定向错误输出  
            p.StartInfo.CreateNoWindow = true;          //设置不显示窗口  
     
            p.Start();   //启动  
            p.StandardInput.WriteLine("exit");        //不过要记得加上Exit要不然下一行程式执行的时候会当机 
            if (starpath=="")
            {
                starpath = p.StandardOutput.ReadToEnd();
            }else
            {
                starpath = command;
            }
            p.Close();
            return starpath;        //从输出流取得命令执行结果  
 
        } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值