Распарсить ответ от cmd, и вывести то что нужно - C#

Узнай цену своей работы

Формулировка задачи:

Привет! В проекте есть кнопка, при нажатии на которую выполняется команда cmd, и результат выполнения выводится в текстбох. Возможно ли в фоне "разбирать" ответ который выводится в текстбох, и отображать не весь, а только тот кусочек ответа который нужен?

Решение задачи: «Распарсить ответ от cmd, и вывести то что нужно»

textual
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             IPAddress address;
  4.             if (!IPAddress.TryParse(textBox1.Text, out address))
  5.                 return;
  6.  
  7.             Task.Factory.StartNew(() =>
  8.             {
  9.                 ProcessStartInfo psi = new ProcessStartInfo("ping.exe")
  10.                 {
  11.                     RedirectStandardOutput = true,
  12.                     UseShellExecute = false,
  13.                     CreateNoWindow = true,
  14.                     Arguments = address.ToString()
  15.                 };
  16.                 var process = new Process { StartInfo = psi };
  17.                 process.Start();
  18.  
  19.                 int counter = 0;
  20.                 string line;
  21.                 string targetLine = null;
  22.                 var list = new List<string>();
  23.  
  24.                 while ((line = process.StandardOutput.ReadLine()) != null)
  25.                 {
  26.                     //эмпирически подобрано
  27.                     list.Add(line);
  28.                     if (++counter == 9)
  29.                     {
  30.                         targetLine = line;
  31.                         list.Clear();
  32.                         break;
  33.                     }
  34.                 }
  35.  
  36.                 if (targetLine == null)
  37.                 {
  38.                     // handle this
  39.                     // некорректный адрес, либо сетевые проблемы
  40.                     //
  41.                     return;
  42.                 }
  43.  
  44.                 richTextBox1.Invoke(new Action(() =>
  45.                 {
  46.                     richTextBox1.AppendText(targetLine);
  47.                 }));
  48.             });
  49.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы