Распарсить ответ от cmd, и вывести то что нужно - C#
Формулировка задачи:
Привет!
В проекте есть кнопка, при нажатии на которую выполняется команда cmd, и результат выполнения выводится в текстбох.
Возможно ли в фоне "разбирать" ответ который выводится в текстбох, и отображать не весь, а только тот кусочек ответа который нужен?
Решение задачи: «Распарсить ответ от cmd, и вывести то что нужно»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
IPAddress address;
if (!IPAddress.TryParse(textBox1.Text, out address))
return;
Task.Factory.StartNew(() =>
{
ProcessStartInfo psi = new ProcessStartInfo("ping.exe")
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
Arguments = address.ToString()
};
var process = new Process { StartInfo = psi };
process.Start();
int counter = 0;
string line;
string targetLine = null;
var list = new List<string>();
while ((line = process.StandardOutput.ReadLine()) != null)
{
//эмпирически подобрано
list.Add(line);
if (++counter == 9)
{
targetLine = line;
list.Clear();
break;
}
}
if (targetLine == null)
{
// handle this
// некорректный адрес, либо сетевые проблемы
//
return;
}
richTextBox1.Invoke(new Action(() =>
{
richTextBox1.AppendText(targetLine);
}));
});
}