Как я могу получить вывод из cmd.exe и выберите/сохраните определенное слово
Здравствуйте, я хотел бы иметь возможность запустить команду arp-a, а затем выбрать из выходных данных только ip-адрес после слова interface.
Запустив приведенный ниже код, я бы получил вывод, но я не могу сохранить только ip-адрес.
Вывод выглядит следующим образом:
Интерфейс:192.168.2.27 ---0xb
Интернет-Адрес Физический Тип Адреса
192.168.2.11 40-c6-45-d5-ft-98 динамический
и т.д.....
Я хотел бы получить 192.168.2.27 и сохранить его в памяти file.txt, так что это будет выглядеть так:
ИС=192.168.2.27
Спасибо Вам за любой совет!
Что я уже пробовал:
Dim oProcess As New Process() Dim psi As New ProcessStartInfo psi.FileName = "arp" psi.Arguments = "-a" psi.UseShellExecute = False psi.RedirectStandardOutput = True Dim p As Process = Process.Start(psi) Dim s As String = p.StandardOutput.ReadToEnd() MessageBox.Show(s) Dim lines As String() = IO.File.ReadAllLines("c:\file.txt") Dim line1 As String = lines() If lines(1).StartsWith("ip") Then lines(1) = "ip=" + (s) Dim filePath As String = "c:\file.txt" System.IO.File.WriteAllLines(filePath, lines) End If End Sub
cr07
Спасибо за ваш ответ. Я попробовал ваш код, но я получаю ошибку для "IP", идентификатор ожидаемый. Извините, но я новичок в этом деле и знаю не так уж много.
Я попробовал также: s = s.Split(" ".ToCharArray)(1) и я могу получить ip после интерфейса, но теперь я понял, что мне нужен первый ip после Интернет-адреса.
cr07
Хорошо, поэтому я исправил скобки на () и теперь работает, но я получаю в результате все после "интерфейса". Есть ли способ, которым я могу получить только ip-адрес из второго ряда? Спасибо.