lSVl »
В качестве рабочего примера:
Код:

@Echo off
SET IP_ADDR=192.168.0.1
SET MASK=255.255.255.0
SET GATEWAY=192.168.0.1
CHCP 1251 1>nul
REM SET "NetConnectionName=По желанию можно указать свое имя подключения и убрать 'REM' в начале этой строки"
CHCP 866 1>nul
IF NOT DEFINED NetConnectionName (
FOR /F "Tokens=2 Delims==" %%I IN ('WMIC path Win32_NetworkAdapter where ^"NetConnectionStatus^=2 and PNPDeviceID like ^'PCI\\VEN%%^'^" get NetConnectionID /value 2^>nul') DO SET "NetConnectionName=%%~I"
)
IF DEFINED NetConnectionName (
NETSH interface ip set address name="%NetConnectionName%" source=static addr=%IP_ADDR% mask=%MASK% gateway=%GATEWAY% gwmetric=0 >nul
) ELSE (
ECHO Network connection not found
PAUSE >nul
)
EXIT
Если у вас несколько подключенных/активных сетей (редкий случай), то настройки сработают только для того подключения, имя которого будет получено последним, а получает оно не по списку имен, так же имейте это ввиду.