如何使用批处理从 ipconfig /all 获取 IP 地址、子网、网关和 DNS 服务器

如何使用批处理从 ipconfig /all 获取 IP 地址、子网、网关和 DNS 服务器

我想从ipconfig并使用 bash 脚本将其存储在变量中。我创建了以下脚本,但它没有在单独的变量中获取 dns 服务器(XXXX 和 YYYY 以下)。

                                  `DNS Servers . . . . . . . . . . . : XXXX
                                                                       YYYY`

echo IPAddress 是:
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b
set ip=%ip:~1%
echo %ip%

对于/f“tokens=1-2 delims=:”%%a在('ipconfig^|find“Subnet”')中设置sub=%%b
设置sub=%sub:~1%
e​​cho子网是:
echo%sub%

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "Default"') do set gate=%%b
set gate=%gate:~1%
echo 网关是:
echo %gate%

答案1

参考这个: 使用批处理代码获取当前使用的 DNS 服务器?

@echo off
rem clean variable
set "ip="
rem search data
for /f "tokens=2 delims=:" %%f in ('echo exit^|nslookup 2^>nul') do ( @echo %%f & set "ip=%%f" )
rem remove spaces from variable
set "ip=%ip: =%"
echo DNS_ip = %ip%
pause

相关内容