批处理文件 - 将默认网关拆分为其组成部分,添加数字然后重新组合

批处理文件 - 将默认网关拆分为其组成部分,添加数字然后重新组合

基本上,我需要做的是获取 Win7 机器的默认网关,我已经使用以下代码完成了:

@echo off
for /f "skip=1 delims={}, " %%A in ('wmic nicconfig get defaultIPgateway') do for /f "tokens=1" %%B in ("%%~A") do set "IP=%%~B"
echo %IP%

问题是,我需要做的是拉出最后一部分(所以从10.10.10.1,我需要1,检查它是1,,65或)添加一个数字83192然后将其重新组成完整的 IP - 例如。10.10.10.2

我被困在分裂部分......

我有:

FOR /F "DELIMS=. TOKENS=4" %a IN %%IP%% DO ECHO %d

我究竟做错了什么?

非常感谢您的帮助。

谢谢,

答案1

如何从默认网关 IP 地址获取最后一个八位字节?

使用以下批处理文件:

@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

进一步阅读

相关内容