C#操作DOS命令,并获取处理返回值

// /*----------------
// // 文件名:Method
// // 文件功能描述:
// //    使用 ADB 来进行安卓设备与PC端之间的文件交互,具体adb命令操作请百度查阅
// //
// // 创建标识:20140526
// //
// // 修改标识:
// // 修改描述:

// //----------------------------------------------------------------*/

            
            string cmd = Directory.GetCurrentDirectory();
            cmd = cmd.Substring(0, cmd.IndexOf("bin\\")) + @"platform-tools\adb.exe";
            ProcessStartInfo psi = new ProcessStartInfo(cmd, "get-state");
 
            psi.CreateNoWindow = true;//不显示dos命令行窗口
            psi.RedirectStandardOutput = true;//
            psi.RedirectStandardInput = true;//   
            psi.UseShellExecute = false;//是否指定操作系统外壳进程启动程
 
            Process p = Process.Start(psi);
            StreamReader reader = p.StandardOutput;//截取输出流   
            string line = reader.ReadLine();//每次读取一行
            //while (!reader.EndOfStream)
            //{
            // Console.Out.WriteLine(line);
            // line = reader.ReadLine();
            //}
            if (!line.Equals("device"))
            {
                MessageBox.Show("设备未就绪,请查看数据线是否正常连接电脑后重试", "设备未就绪", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
 
            Directory.CreateDirectory("d://file");
            psi.Arguments="pull /sdcard/file/ d:/file";
            p = Process.Start(psi);
            p.WaitForExit();
            p.Close();//关闭进程   
            reader.Close();//关闭流 
posted @ 2017-08-18 16:15  Minily  阅读(465)  评论(0编辑  收藏  举报