Лучший способ вызвать внешнюю программу в C # и разобрать вывод - PullRequest
23 голосов
/ 18 мая 2009

Дублирование

Перенаправить вывод консоли в текстовое поле в отдельной программе Получение вывода оболочки nslookup с помощью C #

Я хочу вызвать внешнюю программу из моего кода на C #.

Программа, которую я вызываю, скажем, foo.exe возвращает около 12 строк текста.

Я хочу вызвать программу и проанализировать вывод.

Какой самый оптимальный способ сделать это?

Фрагмент кода также приветствуется:)

Большое спасибо.

1 Ответ

58 голосов
/ 18 мая 2009
using System;
using System.Diagnostics;

public class RedirectingProcessOutput
{
    public static void Main()
    {
        Process p = new Process();
        p.StartInfo.FileName = "cmd.exe";
        p.StartInfo.Arguments = "/c dir *.cs";
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        p.Start();

        string output = p.StandardOutput.ReadToEnd();
        p.WaitForExit();

        Console.WriteLine("Output:");
        Console.WriteLine(output);    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...