Старожил
Сообщения: 210
Благодарности: 76
|
Профиль
|
Отправить PM
| Цитировать
Один из возможных вариантов (на VBS):
читать дальше »
Код:
Dim objWShell, objExec, objStream, objRegExp, objMatches
Dim strTemp, arrTemp, i, j, strErr
Set objWShell = CreateObject("WScript.Shell")
On Error Resume Next
Set objExec = objWShell.Exec("ipconfig.exe /all")
WScript.Sleep 2000
If Err.Number = 0 Then
strTemp = vbNullString
Set objStream = objExec.StdOut
While Not objStream.AtEndOfStream
strTemp = strTemp & Trim(objStream.ReadLine) & vbNewLine
Wend
Set objStream = Nothing
If Err.Number = 0 Then
arrTemp = Split(strTemp, vbNewLine): strTemp = vbNullString
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
objRegExp.IgnoreCase = True
objRegExp.Pattern = "(([a-z]|\d){2}-){5}([a-z]|\d){2}"
For i = 0 To UBound(arrTemp)
Set objMatches = objRegExp.Execute(arrTemp(i))
If Err.Number = 0 Then
For j = 0 To objMatches.Count - 1
strTemp = strTemp & objMatches.Item(j).Value & vbNewLine
Next
Else
strErr = strErr & arrTemp(i) & vbNewLine
Err.Clear
End If
Next
Set objMatches = Nothing
Set objRegExp = Nothing
If Len(strTemp) > 0 Then
WScript.Echo strTemp
Else
WScript.Echo "Ничего не найдено."
End If
If Len(strErr) > 0 Then WScript.Echo "Не удалось разобрать строки:" & vbNewLine & strErr
Else
WScript.Echo "Ошибка чтения вывода утилиты: " & Err.Number & vbNewLine & Err.Description
Err.Clear
End If
Else
WScript.Echo "Ошибка запуска утилиты: " & Err.Number & vbNewLine & Err.Description
Err.Clear
End If
Set objExec = Nothing
Set objWShell = Nothing
WScript.Quit 0
|
Отправлено: 17:07, 14-03-2013
| #2
|