You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows批处理获取已连接网卡IP:如何正确传递变量引号?

解决Windows下仅显示已连接适配器IP的命令问题

你的核心问题在于变量引用语法错误,加上WMIC输出自带冗余字符导致适配器名称识别失败,修正后的命令如下:

命令行直接运行版本

for /f "tokens=2 delims==" %F in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionID /format:list') do @for /f "delims=" %G in ("%F") do netsh interface ip show config name="%G"

批处理文件版本

@echo off
for /f "tokens=2 delims==" %%F in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionID /format:list') do (
    for /f "delims=" %%G in ("%%F") do (
        netsh interface ip show config name="%%G"
    )
)

关键修正说明

  1. 变量引用语法:原命令中的%F%是错误写法,正确的变量引用应为%F(批处理文件中需替换为%%F),无需额外添加多余的%符号
  2. 处理WMIC冗余输出:WMIC命令返回的NetConnectionID会附带额外的回车符,直接使用会导致netsh无法匹配适配器名称。嵌套一层for /f "delims="可以彻底清除这些不可见的空白和回车符,确保名称被正确识别
  3. 双引号传递:直接用双引号包裹变量"%G"即可正确传递带空格的适配器名称,无需额外转义操作

运行修正后的命令后,就能输出所有已连接适配器的IP配置信息,与你预期的输出格式一致。

内容的提问来源于stack exchange,提问作者Feliciano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:42:39