使用命令行/批处理回显 DNS 和替代 DNS

Echo DNS and Alternative DNS using command line/ batch

我一直在使用 for loopfindstrecho 来自 ipconfig/all 的特定行。例如

for /f "tokens=*" %a in ('ipconfig/all ^| findstr "#DNS Servers"') do (echo %a) [在批处理文件中使用双百分号]

这将回显 DNS Servers line 但如何获取 ipconfig/all 中的替代地址 findstr 行中没有任何内容可以帮助隔离它。有没有办法做到这一点?

这是相关的 ipconfig/all 输出。我正在寻找 YYYY

Windows IP Configuration

   Host Name . . . . . . . . . . . . : XXXX
   Primary Dns Suffix  . . . . . . . : XXXX
   Node Type . . . . . . . . . . . . : XXXX
   IP Routing Enabled. . . . . . . . : XXXX
   WINS Proxy Enabled. . . . . . . . : XXXX
   DNS Suffix Search List. . . . . . : XXXX

Ethernet adapter Ethernet 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel Adapter #2
   Physical Address. . . . . . . . . : XXXX
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel 
   Physical Address. . . . . . . . . : XXXX
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : XXXX(Preferred)
   IPv4 Address. . . . . . . . . . . : XXXX(Preferred)
   Subnet Mask . . . . . . . . . . . : XXXX
   Default Gateway . . . . . . . . . : XXXX
   DHCPv6 IAID . . . . . . . . . . . : XXXX
   DHCPv6 Client DUID. . . . . . . . : XXXX
   DNS Servers . . . . . . . . . . . : XXXX
                                       YYYY  
   NetBIOS over Tcpip. . . . . . . . : Enabled

我想批量尝试这个​​,因为它要在另一个批处理程序的末尾使用。

你的情况非常简单:

ipconfig /all |findstr /bc:"   DNS-Server" /c:"       "

注意:如果您有多个网络适配器,您会在没有任何提示的情况下获得所有网络适配器的 DNS 服务器(IPv4 和 IPv6),哪个属于哪个。

注意:ipconfig 的输出取决于语言。您可能需要根据实际输出调整字符串 DNS-Server

如果您只需要 "alternative" DNS 服务器:

ipconfig /all |findstr /bc:"       "

(There nothing in that line to findstr to help isolate it.:是的,有。这是唯一以三个以上空格开头的行。findstr /b 匹配模式,如果在 b行首)