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

PowerShell中如何用Select-String提取匹配行后的指定内容

提取WiFi网卡对应IPv4地址的PowerShell实现方法

方案1:固定行数取值(适配你当前的使用逻辑)

你已经通过-Context 0,4获取到了WiFi匹配行之后的4行内容,Select-String(别名sls)返回的结果中,Context.PostContext属性存储了后续行的数组,数组下标从0开始计数,你需要的第4行对应下标3,直接取值即可:

# 输出匹配行后第4行的完整内容
(ipconfig | sls -Pattern "WiFi" -Context 0,4).Context.PostContext[3]

# 仅提取纯IPv4地址,过滤多余文本
((ipconfig | sls -Pattern "WiFi" -Context 0,4).Context.PostContext[3] | sls -Pattern '\d{1,3}(\.\d{1,3}){3}').Matches.Value

方案2:动态匹配(兼容性更强,避免行序变化导致取值错误)

如果不同系统版本的ipconfig输出格式有差异,WiFi段下IPv4的行数不固定,可以用动态查找的逻辑,匹配到WiFi后向后查找第一个出现的IPv4地址:

$ipConfigOutput = ipconfig
# 定位WiFi网卡对应的行号
$wifiLineNum = ($ipConfigOutput | sls -Pattern "WiFi").LineNumber
# 从WiFi行向后查找最多10行,匹配第一个IPv4地址并提取
$ipConfigOutput[$wifiLineNum .. ($wifiLineNum + 10)] | sls -Pattern "IPv4.*?(\d{1,3}(?:\.\d{1,3}){3})" | Select-Object -First 1 | ForEach-Object { $_.Matches.Groups[1].Value }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:15:03