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

如何在CMD批处理中提取netsh输出的Key Content字段并输出或赋值为变量

实现方案

完全可以在不借助第三方工具的情况下实现,只用Windows系统自带的CMD原生命令即可完成。

最简直接输出版本

如果你不需要把密码存为变量,只需要单独打印Key Content行,直接用findstr过滤netsh的输出即可:

@echo off
set /p name=Enter Wi-Fi Name:
cls
:: 中文系统请把"Key Content"替换为"关键内容"
netsh wlan show profile name="%name%" key=clear | findstr /i "Key Content"
cmd /k

执行后只会输出包含Key Content的那一行内容,不会展示其他冗余数据。

赋值为变量版本

如果需要把密码存为变量后续使用,可以用for /f命令解析过滤后的结果:

@echo off
setlocal enabledelayedexpansion
set /p name=Enter Wi-Fi Name:
cls
set "wifi_pwd="
:: 中文系统请把"Key Content"替换为"关键内容"
for /f "tokens=2 delims=:" %%a in ('netsh wlan show profile name="%name%" key=clear ^| findstr /i "Key Content"') do (
    set "wifi_pwd=%%a"
    :: 去除密码前多余的空格
    set "wifi_pwd=!wifi_pwd:~1!"
)

if "!wifi_pwd!"=="" (
    echo 未找到名称为【%name%】的已保存WiFi配置,请检查输入名称是否正确
) else (
    echo WiFi名称:%name%
    echo WiFi密码:!wifi_pwd!
)
:: 后续可以直接使用!wifi_pwd!变量调用密码
cmd /k
endlocal

命令说明

  • findstr /i :CMD自带的字符串过滤命令,/i表示忽略大小写,只保留包含指定关键词的行
  • for /f :用来解析文本/命令输出,这里以冒号为分隔符,提取Key Content行冒号后的密码部分
  • setlocal enabledelayedexpansion :开启变量延迟扩展,保证for循环内修改的变量可以正常读取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:36:01