我对批处理文件很陌生,我试图做一些体面的高级工作,并试图找出如何识别和解析IPCONFIG中DNS服务器下的第二行/所有。如果答案相当先进,如果能够彻底解释,我将非常感激。这里是我的代码:从IPCONFIG/all,Windows批处理解析第二个DNS
@echo off
setlocal enabledelayedexpansion
set adapter=Ethernet adapter Local Area Connection
set adapterfound=false
for /f "usebackq tokens=1-4 delims=:" %%f in (`ipconfig /all`) do (
set item=%%f
if /i "!item!"=="!adapter!" (
set adapterfound=true
) else if not "!item!"=="!item:DNS Servers=!" if "!adapterfound!"=="true" (
rem echo DNS: %%g
set Globaldns=%%g
set adapterfound=false
)
)
for /f "tokens=1-2 delims= " %%m in ("%Globaldns%") do set Globaldns=%%m
echo DNS: %Globaldns%
如果有人设置两个DNS服务器,我需要一种方法来拉第二个DNS地址,并将其存储在第二个变量,上面的代码是能拉的第一个DNS,但我还没有想出一个办法来拉秒。感谢您的帮助!!编辑: 另一条信息。这需要能够在Windows Vista到Windows 10之间运行,并且需要能够针对特定连接(我们只重新配置以太网设备,无线)因此,我们需要能够使用适配器的连接名称解析(即本地连接,以太网)。
ipconfig输出很难解析,可能更容易与'wmic nicconfig list DNS/format:CSV' – LotPings
请参阅编辑,我喜欢你的答案,但我需要一种方式樱桃图特定的连接,我不能切实使用适配器名称。有没有办法将连接名称添加到它? (即本地连接#,以太网#) – user7253664
这对我来说很困难,因为我有不同的语言环境,所以我的命名不匹配。 getmac/fo csv/v'返回什么输出? – LotPings