【Ruby简单脚本01】查看wifi密码

脚本

ruby 复制代码
# 使用io库  
def get_cmd_result(cmd)  
  IO.popen(cmd,:external_encoding=>'GBK').read.encode("utf-8")  
end  

def list_wifi  
  wifi_pwds = Hash.new  

  # 获取所有wifi文件  
  o1 = get_cmd_result("netsh wlan show profiles")  
  # 获取所有匹配结果  
  wifi_names = o1.scan(/所有用户配置文件\s*:\s*(.*?)\n/m)  
  unless wifi_names.empty?  
    wifi_names.each do |wifi_name|  
      o2 = get_cmd_result("netsh wlan show profile name=\"#{wifi_name[0]}\" key=clear")  
      wifi_pwd = o2.scan(/关键内容\s*:\s*(.*)\n/)  
      wifi_pwds.update({wifi_name[0] => wifi_pwd[0]})  
    end  
  end  wifi_pwds  
end  

puts list_wifi

输出结果

{"TP-LINK_2301"=>["1234567"], "CU_trtsds"=>["123456"], "Mi 10S"=>["12345678"]}

本文由【产品经理不是经理】gzh 同步发布,欢迎关注

相关推荐
麻瓜code8 小时前
秒杀优化三连:Lua + 阻塞队列 + Redis Stream,响应从 3.4 秒到毫秒级
redis·junit·lua
努力努力再努力wz9 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
hey you~12 小时前
云呼叫中心坐席自动分配实战:ACD 策略、Redis+Lua 实现与排查清单
数据库·redis·lua·云呼叫中心·acd·坐席分配·坐席状态机
我不会起名字32214 小时前
Redis pipeline 用了反而更慢:3 类误用与正确的批量姿势
redis·pipeline·lua·rtt·批量
努力努力再努力wz2 天前
【Lua入门系列】从 C++ 迭代器到 Lua 迭代器:一文深入理解 Lua 有状态以及无状态迭代器与泛型for、闭包、ipairs、pairs 和 next
开发语言·c++·lua
屈冠成2 天前
ShopXO商城系统测试报告
开发语言·spring·maven·lua
Wang's Blog3 天前
Java 项目实战: 交友项目 - 用户体系集成:根据环信id查询用户详情
java·lua·交友
努力努力再努力wz3 天前
【Lua 入门系列】从顺序执行到分支与循环:一文理解 Lua 控制结构、作用域与跳转规则
junit·单元测试·lua
huoyueyi3 天前
《融天AI-APP从0到1开发实录》
开发语言·lua
努力努力再努力wz4 天前
【Lua入门系列】从动态类型到变量作用域:彻底理解 local、全局变量与跨文件访问
开发语言·junit·lua