无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 8158|回复: 11
打印 上一主题 下一主题

[原创] PE自动加载 WIFI 网络 SSID 和 PSWD 的脚本

[复制链接]
跳转到指定楼层
1#
发表于 2015-10-1 20:51:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2010qaqz111 于 2015-12-19 11:24 编辑

批处理写的,要求系统没有砍掉ping.exe

请使用附件中的cmd脚本,不要直接复制粘贴此处的代码,论坛程序会把TAB字符替换为连续的空格,第33行分析SSID和PSWD的代码会受到影响!

  1. @echo off

  2. pushd %~dp0

  3. set WIFITXT=wifilist.txt
  4. set WIFIXML=%temp%\wifi.xml

  5. ::获取保存的WIFI列表
  6. set FBINST=fbinstplus.exe
  7. set UDPATH=
  8. ::当前目录有就直接用当前目录的
  9. if exist "%WIFITXT%" goto:waitWlansvc
  10. ::否则尝试从UD区提取
  11. for /f "usebackq" %%i in (`%FBINST% --hdlist "(hd%%N)" --ALL --ALL --UD`) do (
  12.         %FBINST% %%i output "%UDPATH%%WIFITXT%" %%~nx
  13.         if exist "%WIFITXT%" goto:waitWlansvc
  14. )
  15. ::没找到
  16. goto:end

  17. ::等待无线配置服务启动
  18. :waitWlansvc
  19. for /f "usebackq delims=" %%i in (`net start^|find "WLAN"`) do (
  20.         echo Wlansvc Detected: [%%i]
  21.         goto:WlansvcStarted
  22. )
  23. echo waiting Wlansvc start...
  24. 1>nul 2>nul ping 0.0.0.0 -n 5
  25. goto:waitWlansvc
  26. :WlansvcStarted

  27. ::添加WIFI网络
  28. for /f "usebackq tokens=1,2 delims=        " %%i in ("%WIFITXT%") do (
  29. ::
  30. ::请注意上面一行delims=后面是一个TAB字符,不是一连串空格!!!
  31. ::这里的一连串空格是被论坛程序替换掉的,在编辑模式还是一个TAB字符,但是显示出来就变成一连串空格了。
  32. ::
  33.         > %WIFIXML% echo ^<?xml version="1.0"?^>
  34.         >>%WIFIXML% echo ^<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"^>
  35.         >>%WIFIXML% echo         ^<name^>%%i^</name^>
  36.         >>%WIFIXML% echo         ^<SSIDConfig^>
  37.         >>%WIFIXML% echo                 ^<SSID^>
  38.         >>%WIFIXML% echo                         ^<name^>%%i^</name^>
  39.         >>%WIFIXML% echo                 ^</SSID^>
  40.         >>%WIFIXML% echo         ^</SSIDConfig^>
  41.         >>%WIFIXML% echo         ^<connectionType^>ESS^</connectionType^>
  42.         >>%WIFIXML% echo         ^<connectionMode^>auto^</connectionMode^>
  43.         >>%WIFIXML% echo         ^<autoSwitch^>false^</autoSwitch^>
  44.         >>%WIFIXML% echo         ^<MSM^>
  45.         >>%WIFIXML% echo                 ^<security^>
  46.         >>%WIFIXML% echo                         ^<authEncryption^>
  47.         >>%WIFIXML% echo                                 ^<authentication^>WPA2PSK^</authentication^>
  48.         >>%WIFIXML% echo                                 ^<encryption^>AES^</encryption^>
  49.         >>%WIFIXML% echo                                 ^<useOneX^>false^</useOneX^>
  50.         >>%WIFIXML% echo                         ^</authEncryption^>
  51.         >>%WIFIXML% echo                         ^<sharedKey^>
  52.         >>%WIFIXML% echo                                 ^<keyType^>passPhrase^</keyType^>
  53.         >>%WIFIXML% echo                                 ^<protected^>false^</protected^>
  54.         >>%WIFIXML% echo                                 ^<keyMaterial^>%%j^</keyMaterial^>
  55.         >>%WIFIXML% echo                         ^</sharedKey^>
  56.         >>%WIFIXML% echo                 ^</security^>
  57.         >>%WIFIXML% echo         ^</MSM^>
  58.         >>%WIFIXML% echo ^</WLANProfile^>
  59.         echo netsh wlan add profile filename=%WIFIXML%
  60.         netsh wlan add profile filename=%WIFIXML%
  61.         del %WIFIXML%
  62. )

  63. :end
  64. popd
复制代码

请使用附件中的cmd脚本,不要直接复制粘贴此处的代码,论坛程序会把TAB字符替换为连续的空格,第33行分析SSID和PSWD的代码会受到影响!

工作方式
从一个文本文件里面读 SSID 和 PSWD 来添加无线网络。
文本文件的文件名是【wifilist.txt】,明文,SSID和PSWD在同一行,TAB字符分隔。

wifilist.txt 的文件名可以自己修改,在第5行
set WIFITXT=wifilist.txt



查找 wifilist.txt 的方式
1.脚本所在的目录有 wifilist.txt 就直接用。
2.否则尝试从UD分区提取。

第9行:
set FBINST=fbinstplus.exe
这是用来从ud区取数据文件的程序,我用的 fbinstplus,原帖在这里:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=187865
脚本默认 fbinstplus.exe 就在脚本所在目录,或者可以被 PATH 环境变量索引到。
如有需要,请自行修改这个程序的文件名和路径。

第10行:
set UDPATH=
这行设置 wifilist.txt 在 UD 的路径,可以自己修改。
注意路径分隔是正斜杠:【/】,并且应以正斜杠结尾,这样下面拼接的字串才会是正确的路径。
如:
set UDPATH=WIFIDATA/
下面的命令实际执行就会是这样(15行):
fbinstplus.exe (hd0) output "WIFIDATA/wifilist.txt" %~nx


第14行:
for /f "usebackq" %%i in (`%FBINST% --hdlist "(hd%%N)" --ALL --ALL --UD`) do (
标注为红色的开关是检查所有磁盘,这个开关替换成【--REMOVABLE】可以排除本地硬盘。
关于命令的具体用法请参照 fbinstplus 的发布帖(链接在上面)。


目前我是用在C大的USBOS的两个8PE的RAMOS里,已经测试过可以使用没有问题。


脚本和 wifilist.txt 的样例我传一个到附件。

脚本和wifilist.txt样例.rar

1 KB, 下载次数: 202, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2015-10-1 20:51:34 | 只看该作者
本帖最后由 2010qaqz111 于 2015-10-1 22:27 编辑

之前有找过现有的 Vista/7/8/8.1/10 上的配置文件,以为可以直接拿来用,但是实际测试之后发现不行。

因为 Windows 对 wifi profile 的加密是跟当前系统有关的,换了系统(系统的版本不同、硬件不同等等)
就解密不了,所以直接使用硬盘上原有系统内的 xml 文件来导入不行。

现在这个方案其实还只是个半成品,因为修改更新 wifilist.txt 的机制现在还没有,只能全部自己手动来做。
适用场景比较多的是在固定地点用同个U盘启动不同的机器,比如电脑城门店上装机,维修点门店等。



这个脚本可以放在 WIM 里面用,也可以放在 PETOOLS 外置里面用,系统启动后手动执行也可以。

wifilist.txt 的样例在顶楼附件。
回复

使用道具 举报

3#
发表于 2015-10-1 22:08:49 | 只看该作者
谢谢分享
请给个wifilist.txt例子

点评

我传一个到附件吧  详情 回复 发表于 2015-10-1 22:14
回复

使用道具 举报

4#
 楼主| 发表于 2015-10-1 22:14:42 | 只看该作者
本帖最后由 2010qaqz111 于 2015-10-1 23:14 编辑
pseudo 发表于 2015-10-1 22:08
谢谢分享
请给个wifilist.txt例子


我传一个到附件吧
回复

使用道具 举报

5#
发表于 2015-11-7 17:12:01 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 2015-11-7 17:12:01 | 只看该作者
谢谢分享
回复

使用道具 举报

7#
发表于 2015-12-17 15:13:16 | 只看该作者
谢谢楼主分享,也谢谢P大的修改
回复

使用道具 举报

8#
发表于 2015-12-18 16:46:58 | 只看该作者
pseudo 发表于 2015-12-16 22:48
我签名里新上传的boot.wim内petools文件夹有一个供参考。


P大,失败了

'ou.net' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'tid' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'extra' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'wifilist.txt' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'xml' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'募?if' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
文件名、目录名或卷标语法不正确。
'/f' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Wlansvc Detected: [%i]
'加WIFI网络' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
命令语法不正确。

C:\DYY8\81PE\DRIVERPACKS>
回复

使用道具 举报

9#
 楼主| 发表于 2015-12-19 11:21:55 | 只看该作者
请使用顶楼附件中的cmd脚本,不要直接复制粘贴顶楼的代码,论坛程序会把TAB字符替换为连续的空格,第33行分析SSID和PSWD的代码会受到影响。

之前发帖的时候没有注意到显示出来TAB会变空格,编辑模式下确实是TAB字符,现在也还是,但是显示出来就变空格了。

这点区别虽然大部分情况下脚本也可以工作,但是遇到SSID或者PSWD里面有空格的情况就会出问题,所以最初使用delims=TAB是考虑了有空格的SSID和PSWD这种情况的。
回复

使用道具 举报

10#
发表于 2019-10-30 08:16:34 | 只看该作者
很强大,正需要
回复

使用道具 举报

11#
发表于 2019-11-1 18:28:17 | 只看该作者
最近想玩PE,学习一下,谢谢
回复

使用道具 举报

12#
发表于 2019-12-20 07:45:14 | 只看该作者
和  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-25 06:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表