使用bat脚本读取当前设备wifi密码

演示

仅显示

@echo off
color 2f
mode con: cols=40 lines=15
title WiFi密码查询
echo 正在查询结果
for /f "tokens=2* delims=:" %%i in ('netsh wlan show profiles') do (
    for /f "tokens=* delims= " %%a in ("%%i") do (
        for /f "tokens=3* delims= " %%d in ('netsh wlan show profiles key^=clear name^="%%a"^| findstr "关键内容" ') do (
        echo "%%a"密码为:【%%d】
        )
    )
)
echo 任意键退出查询
pause>nul

 输出文本

@echo off
color 2f
mode con: cols=40 lines=15
title WiFi密码查询
echo 正在查询结果
setlocal enabledelayedexpansion
for /f "tokens=2* delims=:" %%i in ('netsh wlan show profiles') do (
    set str=%%i
    for /f "tokens=3* delims= " %%d in ('netsh wlan show profiles key^=clear name^="!str:~1!"^| findstr "关键内容"') do (
        echo "!str:~1!"密码为:【%%d】
        echo "!str:~1!"密码为:【%%d】>>WiFi.txt
    )
)
echo 保存在脚本所在目录的WiFi.txt文件中
echo 任意键退出查询
pause>nul

 原理

大概是第一次for循环去读取wifi名称
第二次循环的目的是去除第一次循环获取的多余的一个空格(感觉写的不好。。。又不知道咋截取,干脆用循环去分割吧,如果有更好的写法欢迎在回复里提出。)
第三次是获取对应wifi名字的信息,然后用findstr去找关键内容那一行,如果找到了就分割一下(老分割了。。。)写出密码
没有密码就拉倒。。。
绿色无残留,安全无捆绑
无须管理员权限运行(似乎是的)
无须额外配置,一键获取全部以保存的wifi名及其密码

食用方法:

复制代码,粘贴到记事本里,按照ANSI格式保存
注!最好不要用第三方编辑器。。。。
win10默认的保存语言是utf-8,bat只支持ANSI,中文编码错误保存会乱码

版权声明:
作者:a6288a
链接:https://www.jiajunboke.com/174/
来源:小嘉教学网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>