Цитата NoIZz:
мне нужен первый ip приоритетного интерфейса »
|
Что есть «интерфейс», и по каким признакам Вы определяете, что он «приоритетный»?
Цитата NoIZz:
и что бы работало на 7, vista и xp »
|
Тогда Вам лучше использовать консольный скрипт WSH, наподобие:
читать дальше »
Код:
Option Explicit
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx
Dim strIPAddress
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
For Each objSWbemObjectEx In objSWbemServicesEx.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration Where IPEnabled = 'True'")
For Each strIPAddress In objSWbemObjectEx.IPAddress
WScript.Echo strIPAddress
Exit For
Next
Exit For
Next
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing
WScript.Quit 0
— первый встретившийся адрес на первом из включённых адаптеров, в виде:
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (
`2^>nul cscript.exe //nologo "0001.vbs"`
) do set sIPAddress=%%~i
if defined sIPAddress echo IP Address: [%sIPAddress%]
endlocal
exit /b 0
Хотя, на мог взгляд, проще всё целиком сделать на WSH.