说在前面
🎈本文介绍了一个便捷的脚本,可以帮助你获取电脑中保存的所有Wi-Fi网络的密码。不再需要担心忘记Wi-Fi密码或手动查找密码的麻烦,只需运行脚本即可一键获取。
一、引言
互联网的普及让我们离不开Wi-Fi网络,但忘记密码时常发生。在当今的数字时代,Wi-Fi密码几乎成为了我们连接互联网的"通行证"。然而,我们常常会面临一个尴尬的问题:当我们需要在新的设备上连接同一个Wi-Fi网络时,我们却无法回忆起密码。幸运的是,我们有一个神奇的脚本可以帮助我们轻松地获取保存在电脑中的Wi-Fi密码。
二、脚本工作原理
这个脚本基于命令行操作,通过执行特定指令来获取Wi-Fi配置文件的名称和密码信息。它利用操作系统提供的命令行工具,能够访问并读取存储在电脑中的Wi-Fi配置文件,从而获取相应的密码信息。
三、准备工作
在运行脚本之前,我们需要进行一些准备工作。首先,我们需要确保命令行编码设置为UTF-8,以便支持显示中文字符。这可以通过在脚本中执行chcp 65001命令来实现。
四、脚本编写
1、引入child_process 模块
引入 Node.js 内置的 child_process 模块中的 execSync 函数,用于执行命令行指令。
const { execSync } = require("child_process");
2、编码设置为 UTF-8
通过 execSync 函数执行命令行指令 chcp 65001,将命令行编码设置为 UTF-8,以便支持显示中文字符。
execSync("chcp 65001");
3、获取所有 Wi-Fi 配置
执行命令行指令 netsh wlan show profiles,获取所有 Wi-Fi 配置文件的名称信息,并将其转换为字符串格式。然后,使用正则表达式匹配出每个 Wi-Fi 配置文件的名称,并将其存储在 profileNames 数组中
const profilesInfo = execSync("netsh wlan show profiles").toString();
const profileNames = profilesInfo
.match(/All User Profile\s*:\s*(.*)/g)
.map((s) => s.split(":")[1].trim());
4、输出 Wi-Fi 配置
遍历 profileNames 数组中的每个 Wi-Fi 配置文件的名称,并根据名称执行命令行指令 netsh wlan show profile name=“” key=clear,获取对应的密码信息。然后,使用正则表达式匹配出密码信息,并将其存储在 password 变量中。最后,将 Wi-Fi 名称和密码信息一起输出到控制台上。如果某个 Wi-Fi 没有设置密码,则输出“无密码”。
for (const name of profileNames) {
const passwordInfo = execSync(
`netsh wlan show profile name="${name}" key=clear`
);
const passwordMatch = passwordInfo
.toString()
.match(/Key Content\s*:\s*(.*)/);
const password = passwordMatch ? passwordMatch[1].trim() : "无密码";
console.log(`${name}: ${password}`);
}
5、完整脚本代码
const { execSync } = require("child_process");
function getAllWifiInfo() {
// 设置命令行编码为UTF-8,以支持显示中文字符
execSync("chcp 65001");
// 获取所有Wi-Fi配置文件的名称
const profilesInfo = execSync("netsh wlan show profiles").toString();
const profileNames = profilesInfo
.match(/All User Profile\s*:\s*(.*)/g)
.map((s) => s.split(":")[1].trim());
// 获取每个Wi-Fi的密码并输出
for (const name of profileNames) {
const passwordInfo = execSync(
`netsh wlan show profile name="${name}" key=clear`
);
const passwordMatch = passwordInfo
.toString()
.match(/Key Content\s*:\s*(.*)/);
const password = passwordMatch ? passwordMatch[1].trim() : "无密码";
console.log(`${name}: ${password}`);
}
}
五、脚本使用
1、插件安装
npm install -g jyeontu
2、查看wifi密码
jyeontu wifi
六、结束语
这个神奇的脚本为我们解决了忘记Wi-Fi密码的尴尬问题。通过简单的命令行操作,我们可以轻松地获取保存在电脑中的Wi-Fi密码。希望这篇文章对你有所帮助,鼓励你尝试使用该脚本来解决类似的问题。享受无忧的Wi-Fi连接吧!
源码
Gitee
该工具的源码也已经开源,有兴趣的同学可以到Gitee上查看:https://gitee.com/zheng_yongtao/node-scripting-tool/tree/master/src/jyeontu;
欢迎star~
公众号
关注公众号『前端也能这么有趣
』,发送jyeontu
即可获取源码。
公众号
关注公众号『前端也能这么有趣
』,获取更多有趣内容。
说在后面
🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『
前端也能这么有趣
』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。