控制台应用没有做任何事情

时间:2011-05-11 02:39:40

标签: c#

基本上我想编写一个应用程序来在命令提示符下执行此操作:

sslist -H -R -h s234.ds.net /mobile > listofsnapshot.txt

然后这是我创建c#控制台应用程序时的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Search
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "sslist.exe";
            p.StartInfo.Arguments = "-H -R -h s234.ds.net /mobile";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.Start();

            string procOutput = p.StandardOutput.ReadToEnd();
            string procError = p.StandardError.ReadToEnd();

            TextWriter outputlog = new StreamWriter("C:\\Work\\listofsnapshot.txt");
            outputlog.Write(procOutput);
            outputlog.Close();

        }
    }
}

为什么当我执行我的控制台脚本时,它只是挂起而没有做任何事情?

1 个答案:

答案 0 :(得分:1)

sslist.exe可能正在等待输入。

您可以通过将p.StartInfo.RedirectStandardInput设置为true,然后写入p.StandardInput来发送一些输入。