ipconfig是Windows内置命令行工具,用于显示TCP/IP网络配置,支持重定向保存、管道筛选及DHCP管理,适用于多网卡排查与自动化运维。

直接查本机IP地址,ipconfig 就够了;但想把结果存下来、筛出来、传给别的命令用,就得靠重定向和管道——这不是锦上添花,而是排查多网卡、远程支持、批量检查时的刚需。
怎么把 ipconfig 输出保存到文件里
导出配置不是为了截图留念,而是为了比对变更、提交给同事、或写进自动化脚本。关键在别覆盖错、别漏权限:
-
ipconfig > ip.txt:只保存基础 IPv4 地址和网关,适合快速归档;但注意,如果当前目录没写入权限,命令会静默失败,文件可能为空 -
ipconfig /all > full_config.txt:含 MAC、DHCP 状态、DNS 服务器等,排查复杂问题必须用;建议加2>&1(即ipconfig /all > full_config.txt 2>&1),避免因权限不足导致错误信息被丢弃 - 别用中文路径重定向,比如
ipconfig > C:\用户\张三\ip.txt,cmd 会报“系统找不到指定路径”,改用英文路径或先cd /d C:\temp再执行
为什么 ipconfig | findstr "IPv4" 有时找不到地址
这不是命令失效,而是输出里“IPv4 地址”四个字的编码或空格不一致导致匹配失败。真实环境里常见三种坑:
- 某些 Windows 版本(尤其是非简体中文系统)显示为“IPv4 地址 . . . . . . . . . . . :”,中间是全角或混合空格,
findstr "IPv4"会漏掉;换成findstr "[0-9]\.[0-9]更稳 - 虚拟网卡(如 Docker、WSL2、VMware)也会输出 IPv4 行,但你真正要的是物理网卡地址;加
findstr /v "Virtual|vEthernet|WSL"过滤掉干扰项 - 如果连“IPv4 地址”都没出现,说明该适配器根本没拿到地址(比如网线没插、Wi-Fi 未连接),此时应优先看“媒体状态”是否为“已连接”
ipconfig /renew 后地址没变?先看这三件事
ipconfig /renew 不是魔法按钮,它只向 DHCP 服务器发一次请求。地址没更新,大概率不是命令问题,而是链路或服务端卡住了:
- 执行前先
ipconfig /release,否则有些旧租约会缓存并拒绝续租;注意:无线网卡执行/release后可能断连,建议有线备用 - 运行后立刻跟
ipconfig查看,别只信“成功续租”的提示——Windows 有时会显示成功,但实际分配的是 169.254.x.x(APIPA 地址),这就说明 DHCP 服务器根本没响应 - 若多网卡共存(比如同时插着网线和连着 Wi-Fi),
/renew默认只刷新“活动”适配器;要指定某一张卡,得先用netsh interface show interface查索引号,再用netsh interface ip renew "以太网"
PowerShell 里用 Get-NetIPAddress 替代 ipconfig 的真实代价
很多人觉得 PowerShell 更“现代”,就无脑换命令,但实际落地时容易忽略两点硬约束:
-
Get-NetIPAddress -AddressFamily IPv4会列出所有 IPv4 地址,包括127.0.0.1、隧道接口(Teredo)、甚至已禁用网卡残留地址;必须加| Where-Object {$_.PrefixOrigin -eq "Dhcp" -or $_.PrefixOrigin -eq "Manual"}才可靠 - 在受限策略环境(如企业域控终端),PowerShell 默认执行策略常为
Restricted,直接运行会报错File cannot be loaded because running scripts is disabled;而ipconfig永远可用 - 性能差异微乎其微,但
ipconfig输出是纯文本,Get-NetIPAddress是对象流——如果你只是想 grep 一个 IP,用 cmd +findstr反而更快、更少依赖
重定向不是炫技,是让信息落到该落的地方。最常被忽略的一点:每次执行带重定向的命令前,先确认当前目录可写、目标文件没被其他程序占用、错误流没被意外吞掉——这些细节不出问题时没人提,一出就是“明明写了命令却没生成文件”的哑巴故障。











