Итак, у меня есть кнопка и два текстовых поля.Я хочу нажать на кнопку, она выполнит nslookup, затем я хочу:
-write the resolved hostname into one text box
-write the resolved ip adress into next text box
У меня есть это пока
System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "nslookup.exe";
psi.Arguments = "google.com";
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
psi.CreateNoWindow = false;
p.StartInfo = psi;
p.Start();
p.WaitForExit();
System.IO.StreamReader output = p.StandardOutput;
textbox1.Text = output.ReadToEnd().ToString();
Так что теперь он делает разрешение и записывает все в одинстрока.Как я могу отфильтровать выходную строку и записать определенные части строки в отдельные поля?
Пример выходной строки будет: (это строка из одной строки, но я написал ее здесь, в таблице для простоты понимания)
Server: EXAMPLE //this i dont need
Address: EXAMPLE //this i dont need
Name: google.com //i need this to be written to TextBox1
Address: 172.217.21.206 //i need this to be written to TextBox2
Так что в итоге:
Textbox.Text = "google.com"
Textbox2.Text = "172.217.21.206"
Позже я хочу пропинговать ip в textbox2 и заставить текстовое поле менять цвет, если он доступен, и кнопку для подключения к rdp.этот ip, если он достижим, так что мне нужно, чтобы он не имел пробелов и был просто строкой
Я думал написать каждое слово, разделенное пробелом, в массив, а затем прочитать массив и написать что-токоторые совпадают в коробках с чем-то вроде этого:
string[] words = outputstring.Split(' ');
foreach (var word in words)
{
System.Console.WriteLine($"<{word}>");
}
Но прежде чем продолжить, я хотел бы спросить, есть ли более простой и быстрый способ сделать это, и я вообще иду в неправильном направлении?может быть, есть способ просто вернуть определенные параметры из команды nslookup?