回 帖 发 新 帖 刷新版面

主题:用Process类连续调用Dos命令的问题

下面代码只能显示一个Dos命令的结果,想连续显示出第二个Ping命令的结果应该怎么写? 
static void Main(string[] args)
        {
            string output;
            using (System.Diagnostics.Process p = new System.Diagnostics.Process())
            {
                p.StartInfo.FileName = "cmd.exe";
                p.StartInfo.Arguments= "/c dir";
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.Start();


                output = p.StandardOutput.ReadToEnd();
                Console.WriteLine(output);
                p.StandardInput.WriteLine("exit");
                p.StandardInput.WriteLine("ping 127.0.0.1");
                p.StandardInput.WriteLine("exit");
                output = p.StandardOutput.ReadToEnd();//接受不到ping的结果
                Console.WriteLine(output);
                p.WaitForExit();
            }
          }

回复列表 (共2个回复)

沙发

关注。[em1]

板凳

顶一下

我来回复

您尚未登录,请登录后再回复。点此登录或注册