CMD获取输出信息

通过cmd命令行的方式导出dmp文件,同时获取导出过程中的执行信息,直接采用常规的process方法无法实现,需要做一些小处理,具体如下:

 private void Expdmp(string strCmd)
        {
            Process proc = new Process();
            try
            {
                //proc.StartInfo.FileName = @"C:\app\Administrator\product\11.2.0\dbhome_1\BIN\exp.exe";
                proc.StartInfo.FileName = "cmd.exe";
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardInput = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.CreateNoWindow = true;

                //注释代码中的开头/c 和结尾 2>&1 是关键,重定向文件输出
                //proc.StartInfo.Arguments = "/c exp user/pwd@ip/orcl file=c:\\test.dmp 2>&1";
                proc.StartInfo.Arguments = strCmd;
                proc.Start();

                AddLog(proc.StandardOutput.ReadLine());
                while (!proc.StandardOutput.EndOfStream)
                {
                    AddLog( proc.StandardOutput.ReadLine());
                }

                proc.WaitForExit();
                proc.Close();
            }
            catch (Exception ex)
            {
            }
            finally
            {
            }
        }
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值