关于获取所有WiFi密码,这部分是受 老D网-CMD一键获取 所有连接过的WIFI密码 的启发。
老D帖子代码虽年久失修,但我觉得参考其代码,进行一次量体裁衣,应该还是蛮不错的。为了讲解方便,这里引用老D源码,做些必要性说明,同时也可做为大家学习研究的探讨话题。
老D源码:
for /f “skip=9 tokens=1,2 delims=:” %i in (‘netsh wlan show profiles’) do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear
就我当前环境而言,键入老D的代码,从图中可以看出信息虽全但未免显得过长,举个例子来说吧,同理于 ipconfig 差不多。坛友要使用的话,如果是保存为批处理文件,要多加% ,如%%i ,第二将中文引号换成英文的(如下图示)。
就我而言,只需要知道 ”WiFi“和”密码“就够了,注意上图红字,所以对于我来说,只需要写成一个懒人即用式代码就ok了。
netsh wlan show profiles | for /f "tokens=2 delims=:" %%i in ('findstr "用户配置文件"') do @echo %%i && netsh wlan show profiles name=%%i key=clear | findstr "关键内容"
较通俗直白的解释这段代码:显示所有保存过的WiFi信息,并将附加在WiFi名称上的多余滤掉("tokens=2 delims=:"),只剩WiFi名称了,再从这仅有的WiFi字段,不断地循环(for)地去找密码。
最后,我们再来看如下图(注意最上图提到的语法规则):
|