Como faço para obter o último octeto do endereço IP do gateway padrão?
Use o seguinte arquivo em lotes:
@echo off
setlocal
setlocal enabledelayedexpansion
rem throw away everything except the ip address line
for /f "usebackq" %%a in ('wmic nicconfig get defaultIPgateway ^| findstr "{"') do (
rem we have for example {"192.168.42.129"}
rem split on " and get 2nd token
for /f delims^=^"^ tokens^=2 %%b in ('echo %%a') do (
rem we have 192.168.42.129
rem split on . and get 4 tokens (octets)
for /f "tokens=1-4 delims=." %%c in ("%%b") do (
rem we have 129
set _o1=%%c
set _o2=%%d
set _o3=%%e
set _o4=%%f
)
)
)
echo %_o4%
endlocal
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- para / f - Comando Loop contra os resultados de outro comando.