找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 1041|回复: 3

[文本处理] 请教大神们,如何通过批处理命令提取已存储的WIFI密码?

[复制链接]
发表于 2025-12-26 22:06:30 | 显示全部楼层 |阅读模式
已知:
①通过以下命令读取本机WIFI配置:
  1. for /f "skip=9 tokens=1,2 delims=:" %%i in ('netsh wlan show profiles') do @echo %%j | for /f "tokens=*" %%s in ("%%j") do @echo %%s | netsh wlan show profiles "%%s" key=clear
复制代码
②通过以下命令导出本机WIFI配置文件
  1. netsh wlan export profile key=clear folder=WIFI
复制代码
其中,命令②导出文件WLAN-H3C_CSJ_5G.xml,内容如下:
  1. <?xml version="1.0"?>
  2. <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
  3.         <name>H3C_CSJ_5G</name>
  4.         <SSIDConfig>
  5.                 <SSID>
  6.                         <hex>4833435F43534A5F3547</hex>
  7.                         <name>H3C_CSJ_5G</name>
  8.                 </SSID>
  9.         </SSIDConfig>
  10.         <connectionType>ESS</connectionType>
  11.         <connectionMode>auto</connectionMode>
  12.         <MSM>
  13.                 <security>
  14.                         <authEncryption>
  15.                                 <authentication>WPA2PSK</authentication>
  16.                                 <encryption>AES</encryption>
  17.                                 <useOneX>false</useOneX>
  18.                         </authEncryption>
  19.                         <sharedKey>
  20.                                 <keyType>passPhrase</keyType>
  21.                                 <protected>false</protected>
  22.                                 <keyMaterial>12345678</keyMaterial>
  23.                         </sharedKey>
  24.                 </security>
  25.         </MSM>
  26.         <MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
  27.                 <enableRandomization>false</enableRandomization>
  28.                 <randomizationSeed>459664883</randomizationSeed>
  29.         </MacRandomization>
  30. </WLANProfile>
复制代码
显然,第7行为SSID名,第22行为密码。
现在,想提取出这两行数据,for命令应该如何写?
再,如果不想先导出配置文件,能否通过改造①命令提取到SSID及其密码?
发表于 2025-12-26 22:45:31 | 显示全部楼层
回复 1# CAIT
  1. @echo off
  2. chcp 437 >nul
  3. for /f "tokens=5*" %%i in ('netsh wlan show profiles ^| findstr /c:"All User Profile"') do (
  4.     call :GetPass %%i %%j
  5. )
  6. pause
  7. goto :eof

  8. :GetPass
  9. echo WiFi : %*
  10. for /f "delims=" %%a in ('netsh wlan show profile name^="%*" key^=clear ^| findstr /c:"Key Content"') do (
  11.     echo %%a
  12. )
  13. goto :eof
复制代码
发表于 2025-12-26 23:20:23 | 显示全部楼层
我以前是这么写的。
  1. FOR /F "eol=- tokens=1,* delims=: " %%a in ('netsh wlan show profiles') do IF "%%a"=="所有用户配置文件" FOR /F "tokens=1,* delims=: " %%i in ('netsh wlan show profiles name^="%%b" key^=clear ^| find "关键内容"') do ECHO.SSID:%%b&ECHO.密码:%%j&ECHO.
复制代码
 楼主| 发表于 2025-12-27 00:39:48 | 显示全部楼层
非常感谢二位大神!测试都正确。感谢感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:06 , Processed in 0.017805 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表