轻松查看WiFi密码的神奇脚本,让你忘记密码也不再是问题

说在前面

🎈本文介绍了一个便捷的脚本,可以帮助你获取电脑中保存的所有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,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

贝叶斯分类器(公式推导+举例应用)

文章目录 引言贝叶斯决策论先验概率和后验概率极大似然估计朴素贝叶斯分类器朴素贝叶斯分类器的优点与缺点优点缺点 总结实验分析 引言 在机器学习的世界中,有一类强大而受欢迎的算法——贝叶斯分类器,它倚仗着贝叶斯定理和朴素的独立性假设&#xff0c…

fisco-bcos部署pro生产版本

我这里使用的 Ubuntu20.4系统,linux系统把操作命令apt改为yum即可 升级安装包 apt-get update 安装jdk,我这里使用jdk17 apt -y install openjdk-17-jdk-headless 查看java版本 java -version 安装依赖 apt-get install -y curl docker.io docker-com…

关于React你必须知道的3个错误用法。

1. 你知道如何使用“&&”吗? 在React程序中,我经常使用“&&”运算符来决定是否显示内容,如下所示: 我的组长: “你不知道&&运算符的特性吗?当请求还没有成功返回时,会直接渲染“0”。” 我并不信服, 因为我一直都是这样编写代码,从未出过错。为了…

详解CAS及ABA问题

🌈🌈🌈今天给大家分享的是 CAS 问题。 清风的CSDN博客 🛩️🛩️🛩️希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流! ✈️✈️✈️动动…

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期 、714.买卖股票的最佳时机含手续费

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期 、714.买卖股票的最佳时机含手续费 最佳买卖股票时机含冷冻期 309.最佳买卖股票时机含冷冻期 文章讲解:https://programmercarl.com/0309.%E6%9C%80%E4%BD%B3%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%…

U盘安装XP纯净版系统教程软件安装教程(附软件下载地址)

软件简介: 软件【下载地址】获取方式见文末。注:推荐使用,更贴合此安装方法! U盘安装XP纯净版系统是一种便捷且快速的方式,以实现系统重装或升级的需求。这篇教程将为您详细介绍如何使用U盘来安装XP纯净版系统。XP纯…

前端面试题集合七(ES6、ES7、ES8、ES9、ES10、ES11、ES12)

ES6(2015) 1. 类(class) class Man {constructor(name) {this.name 小豪;}console() {console.log(this.name);} } const man new Man(小豪); man.console(); // 小豪 2. 模块化(ES Module) // 模块 A 导出一个方法 export …

Spring创建的单例对象,存在线程安全问题吗?

这个问题涉及到Spring框架中的Bean的作用域、单例模式的线程安全性以及如何判断和处理线程安全问题。让我们一步步深入探讨这些概念。 Spring Bean的作用域 Spring提供了几种不同的Bean作用域,包括: 1、 Singleton(单例)&#x…

LeetCode刷题:142. 环形链表 II

题目: 是否独立解决:否,参考了解题思路解决问题,思考了用快慢指针,栈,统计链表数量定位尾巴节点(因为是环形链表所以是死循环,链表数量用while循环统计不出来)都没解决 解…

stm32 - 基础架构

stm32 - 基础架构 基础架构外设概念系统结构引脚定义晶振工程 基础架构 外设概念 NVIC (内核外设) SysTick (内核外设) 其他是片上外设 系统结构 内核引出三条总线 ICode 指令总线: 连接Flash闪存(编写的…

Netfilter 是如何工作的(六):连接跟踪信息的入口创建(in)和出口确认(confirm)

Articles (gitee.io) IPtables-朱双印博客 (zsythink.net) 在 Netfilter 是如何工作的(五) 中连接跟踪信息使用的创建-确认机制的 Netfilter在报文进入系统的入口处,将连接跟踪信息记录在报文上,在出口进行confirm.确认后的连接信息 本文以一个本机上送…

opencv3.4.12全景拼接

最近camera项目需要用到全景拼接,故此查阅大量资料,终于将此功能应用在实际项目上,下面总结一下此过程中遇到的一些问题及解决方式,同时也会将源码附在结尾处,供大家参考。 首先说一下此源码的大概执行流程&#xff0c…

阅读文献-胃癌

写在前面 今天先不阅读肺癌的了,先读一篇胃癌的文章 文献 An individualized stemness-related signature to predict prognosis and immunotherapy responses for gastric cancer using single-cell and bulk tissue transcriptomes IF:4.0 中科院分区:2区 医学…

行为型设计模式——备忘录模式

备忘录模式 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作…

Ceph入门到精通-通过 CloudBerry Explorer 管理对象bucket

简介 CloudBerry Explorer 是一款可用于管理对象存储(Cloud Object Storage,COS)的客户端工具。通过 CloudBerry Explorer 可实现将 COS 挂载在 Windows 等操作系统上,方便用户访问、移动和管理 COS 文件。 支持系统 支持 Wind…

【动态规划】【滑动窗口】C++算法:3003 执行操作后的最大分割数量

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 C算法:滑动窗口总结 动态规划 LeetCode3003 执行操作后的最大分割数量 给你一个下标从 0 开始的字符串 s 和一个整数 k。 你需要执行以下分割操作,直到字符串 s 变为 空&#xff1…

如何开发测试框架?

基本概念 库 英文单词叫Library,库是由代码集合成的一个产品,供程序员调用。面向对象的代码组织形成的库叫类库,面向过程的代码组织形成的库叫函数库。 框架 英文单词叫Framework,框架是为解决一个或一类问题而开发的产品&#x…

【问题探讨】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究

目录 主要内容 模型研究 结果一览 下载链接 主要内容 该模型以环境保护成本和运行成本为双目标构建了微电网优化调度模型,模型目标函数和约束条件复现文献《基于改进粒子群算法的微电网多目标优化调度》,程序的特点是采用非支配排序的蜣螂…

Flutter-Web从0到部署上线(实践+埋坑)

本文字数:7743字 预计阅读时间:60分钟 01 前言 首先说明一下,这篇文章是给具备Flutter开发经验的客户端同学看的。Flutter 的诞生虽然来自 Google 的 Chrome 团队,但大家都知道 Flutter 最先支持的平台是 Android 和 iOS&#xff…

挖种子小游戏

欢迎来到程序小院 挖种子 玩法&#xff1a;看到种子点击鼠标左键进行挖种子&#xff0c;30秒内看你能够挖多少颗种子&#xff0c;快去挖种子吧^^。开始游戏https://www.ormcc.com/play/gameStart/251 html <canvas id"canvas" width"640" height"…