Мне нужно захватить выходные данные трех процессов и передать их как StreamReader
.Возможно ли это в C #?
Справочная информация: мне нужен вывод другого файла с тремя разными аргументами, но я хочу обработать «полный» вывод (все три вместе) для последней обработки в моем коде.
Должен ли я просто вызвать процесс три раза и обработать вывод в цикле?Или есть более эффективный способ?
В настоящее время я делаю это так
if (String.IsNullOrEmpty(file))
{
Process dsget;
dsget = Process.Start("dsget", "group \"CN=COUNTRY_DE,DC=cms,DC=local\" -members");
dsget.StartInfo.UseShellExecute = false;
dsget.StartInfo.RedirectStandardOutput = true;
dsget.Start();
reader = dsget.StandardOutput;
}
else
{
reader = new StreamReader(file);
}
while ((line = reader.ReadLine()) != null)
{
if (!line.Contains("CN"))
continue;
string username = line.Replace("\"", "").Split(',')[0].Split('=')[1];
countryUsers.Add(username.ToUpperInvariant());
}
Но мне нужны еще две COUNTRY_XX
-группы из "dsget".