日期:2014-05-18  浏览次数:20794 次

用Process类连续调用Dos命令的问题
下面代码只能显示一个Dos命令的结果,想连续显示出第二个Ping的结果应该怎么写?
C# code

 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();
                Console.WriteLine(output);
                p.WaitForExit();
            }
          }



------解决方案--------------------
引用楼主 Dic4000 的帖子:
下面代码只能显示一个Dos命令的结果,想连续显示出第二个Ping的结果应该怎么写?

C# code
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.CreateNoW…

------解决方案--------------------
探讨
引用楼主 Dic4000 的帖子:
下面代码只能显示一个Dos命令的结果,想连续显示出第二个Ping的结果应该怎么写?

C# code
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";