无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: chenall
打印 上一主题 下一主题

[分享] PE自动检测安装驱动 外置组件[01-17更新]

  [复制链接]
181#
发表于 2006-12-19 12:56:12 | 只看该作者
  可以做个不生成临时文件的批处理,并且代码还可以精简,至少最开始的某些 set 语句可以不要。
回复

使用道具 举报

182#
发表于 2006-12-19 13:02:26 | 只看该作者
楼主的想法不好,如果是最机没XP呢,或者装的不是XP呢?
回复

使用道具 举报

183#
发表于 2006-12-19 13:09:04 | 只看该作者
原帖由 黑菜 于 2006-12-19 01:02 PM 发表
如果是最机没XP呢,或者装的不是XP呢?



后边的这句话是对的.但应该不能说“想法不好”.至少很多人的机子都装有XP。

应该来说,分两步走:
一个是利用楼主的这个工具搜索本机的驱动安装PE的驱动
另外一个就是搜集大量的网卡,显卡,声卡驱动包让PE自动安装。

个人意见。
回复

使用道具 举报

184#
 楼主| 发表于 2006-12-19 13:58:48 | 只看该作者
12.19
修正了我上一贴之前的问题.请重新下载
我在VMWARE下测试显卡驱动安装成功.


原帖由 namejm 于 2006-12-19 12:56 PM 发表
  可以做个不生成临时文件的批处理,并且代码还可以精简,至少最开始的某些 set 语句可以不要。

呵呵,在无优好像很少看到你.
目前首先是先要可以稳定使用.然后再考虑其它的
至于代码精简,和不生成临时文件可否麻烦你出手
代码精简特别是INIFILE.CMD,你自己看下就知道,我自己都有点头大
不生成临时文件,我昨天在DOS论坛上看了你的贴子应该可以做到(以后再做)

刚刚再回头看了一下,原来不生成临时文件,还是比较简单的.
重新上传了不生成临时文件的批处理.
如果这个没有什么问题,那接下来再看看有没有办法精简代码了.现在的代码我自己看了也是乱乱的.:lol

原帖由 zhfzl2006 于 2006-12-19 10:32 AM 发表
楼主,有一个问题反映一下,我用的是12.16版,用XPE启动系统后如果立即执行scandrive.cmd则会有音量调节图标,如果过一段时间在执行scandrive.cmd则没有,真是奇怪!并且声卡驱动未能正常驱动,设备管理器里面已经 ...

这个我也不太清楚,在正常系统中,如果刚装上声卡驱动应该也是没有音量调节图标的.
你可以试试让SCANDRIVE在载入EXPLORE之前执行.应该就可以了.

[ 本帖最后由 chenall 于 2006-12-19 02:27 PM 编辑 ]
回复

使用道具 举报

185#
 楼主| 发表于 2006-12-19 14:48:22 | 只看该作者
我犯了一个错误
for /f "usebackq skip=2 tokens=3,4 delims=:& " %%i in (`bartpe -v -pnp^|find /i "Found Device:"`)
这一句中的skip=2要删除,要不然就会被过滤掉前面的两个驱动.(已更新可重新下载)
这个语句之前是用临时文件的所以才过滤前两行,现在不用临时文件就是过滤前两个驱动了.
晕死.
回复

使用道具 举报

186#
发表于 2006-12-19 14:58:17 | 只看该作者
刚想上传错误报告,再测...
回复

使用道具 举报

187#
发表于 2006-12-19 14:58:47 | 只看该作者
使用12.19后复制到PE_DRIVE后删除包内驱动,加载驱动出现如下提示:
但是确定后显卡网卡加载成功了。

11.JPG (30.1 KB, 下载次数: 154)

11.JPG
回复

使用道具 举报

188#
 楼主| 发表于 2006-12-19 15:16:48 | 只看该作者
楼上的这个问题之前的贴子已经有提到过了,暂时无法解决.

可以试试复制一个XP原版的SETUPAPI.DLL到SCANDRIVE.CMD目录下再试试.

[ 本帖最后由 chenall 于 2006-12-19 03:19 PM 编辑 ]
回复

使用道具 举报

189#
发表于 2006-12-19 15:24:52 | 只看该作者
经测试,已成功,8139网卡。第一张图楼主看看是什么意思

Snap2.JPG (35.96 KB, 下载次数: 150)

Snap2.JPG

Snap5.JPG (24.41 KB, 下载次数: 135)

Snap5.JPG
回复

使用道具 举报

190#
 楼主| 发表于 2006-12-19 16:20:25 | 只看该作者
原帖由 zhaohj 于 2006-12-19 03:24 PM 发表
经测试,已成功,8139网卡。第一张图楼主看看是什么意思


麻烦再测试一下本贴的附件看还会不会有那个问题.

[ 本帖最后由 chenall 于 2006-12-19 05:12 PM 编辑 ]

scandrive12.19.rar

39.95 KB, 下载次数: 62, 下载积分: 无忧币 -2

回复

使用道具 举报

191#
发表于 2006-12-19 16:39:31 | 只看该作者
原帖由 chenall 于 2006-12-19 04:20 PM 发表


麻烦再测试一下本贴的附件看还会不会有那个问题.


好一点了,上个版本有3、4次,这个版本只出现一次

Snap1.JPG (79.24 KB, 下载次数: 144)

Snap1.JPG
回复

使用道具 举报

192#
 楼主| 发表于 2006-12-19 18:15:33 | 只看该作者
191楼的附件已更新.INIFILE.CMD和SCANDRIVE.CMD都有修改
看了代码找不到该释放SETLOCAL的语句了.
如果还是有问题,就可能需要费点功夫了.
回复

使用道具 举报

193#
发表于 2006-12-19 19:13:06 | 只看该作者
原帖由 chenall 于 2006-12-19 06:15 PM 发表
191楼的附件已更新.INIFILE.CMD和SCANDRIVE.CMD都有修改
看了代码找不到该释放SETLOCAL的语句了.
如果还是有问题,就可能需要费点功夫了.

大大:你好!可否在XPE加上这个显卡驱动?谢谢!

01.gif (1.85 KB, 下载次数: 166)

01.gif
回复

使用道具 举报

194#
发表于 2006-12-19 20:15:52 | 只看该作者
  关于达到最大递归层的问题,可以把 setlocal enabledelayedexpansion 放到 for 语句之前来解决,因为在 for 语句中,setlocal 语句最多只能嵌套15(此说法有误,应为32层,谢谢 chenall 兄提醒)层,超过就会出错,必须通过 endlocal 来终止,而放到 for 之外,则可以避免这个问题。但是,启用变量延迟会带来一个副作用,就是碰到要处理的字符串中的叹号时会抛弃所有的叹号,根本的解决办法是不用变量延迟,而改用 call 语句来实现。

Re chenall:

  因为我对PE似懂非懂,不敢信口开河,倒是批处理,还算得上略有心得,我们可以就批处理交流交流。站内联系哈。

[ 本帖最后由 namejm 于 2006-12-19 11:24 PM 编辑 ]
回复

使用道具 举报

195#
 楼主| 发表于 2006-12-19 22:38:55 | 只看该作者
我用一个FOR命令测试了一下,最多可以在FOR里面使用SETLOCAL32次,超过了就会有提示.之前还不知道有这回事呢.
回复

使用道具 举报

196#
发表于 2006-12-19 23:36:28 | 只看该作者
我刚测试完,你就更新了,回家测试了下(也是8139网卡),已经没SETLOCAL语句了。现在的问题是再把它完善、精简,更快速运行。
回复

使用道具 举报

197#
发表于 2006-12-20 07:58:53 | 只看该作者
能不能加个从哪个驱动器中搜索驱动啊,我的XP装在D盘,C盘装2000(2000安装时默认为C:\WINNT\,并非WINDOWS),就搜不到了。要是能改就好了,我知道在文件中可以改,要是刻到光盘上,从光盘启动就不能改了,希望做个界面,可以选择从哪个驱动器中的XP搜索驱动,那样就完美了。。。

[ 本帖最后由 hai2002713 于 2006-12-20 08:01 AM 编辑 ]
回复

使用道具 举报

198#
 楼主| 发表于 2006-12-20 08:03:35 | 只看该作者
选择搜索驱动的目录并不难,下次下加吧,现再主要是测试运行结果.
回复

使用道具 举报

199#
发表于 2006-12-20 08:05:41 | 只看该作者
可以从现成的系统中提取驱动,这个不错!下载试试
回复

使用道具 举报

200#
发表于 2006-12-20 08:46:15 | 只看该作者
我把WINXP_SP2中setupapi.dll拷贝到pe_drive,对话框还是出现(2次,需手工干预),把这个记录上传你看看问题出在哪里?

setupapi.rar

2.62 KB, 下载次数: 54, 下载积分: 无忧币 -2

setupapi.log

回复

使用道具 举报

201#
发表于 2006-12-20 08:56:36 | 只看该作者
楼主,看看这个,正在研究你的自动检测,有很多不了解的。这个是安装显卡或什么的?专门把PE安装到系统所在的分区,使PE启动后的盘符排列与原系统的一至,执行后为图的提示。

[ 本帖最后由 lxl1638 于 2006-12-20 08:59 AM 编辑 ]

未命名.PNG (11.36 KB, 下载次数: 158)

未命名.PNG
回复

使用道具 举报

202#
 楼主| 发表于 2006-12-20 09:22:59 | 只看该作者
其实在安装之前有一个BARTPE -PNP执行设备检测安装.
如果该设备的所需的文件在PE中都有存在就会自动安装上去了(不知会不会对PE系统造成不稳定).
虽然后面的限制(网卡和显卡)但那只是在第一步后才进行的.
如果不存在由于安装时会自动复制文件(当然是失败的),就会提示出错.

后面有自动提取驱动所需的文件到PE系统目录下.再次更新驱动就可以了.

目前我所想到的解决方法就是
使用strongchen之前版本的方法,先提取硬件ID.然后通过这个硬件ID从系统的INF目录下查找相应的INF文件,并提取所需的文件.最后再进行安装驱动.这样就不会有以上的问题了(因为系统中的INF文件太多,不知查找时会不会速度很慢)
回复

使用道具 举报

203#
发表于 2006-12-20 09:32:14 | 只看该作者
原帖由 chenall 于 2006-12-20 09:22 AM 发表
其实在安装之前有一个BARTPE -PNP执行设备检测安装.
如果该设备的所需的文件在PE中都有存在就会自动安装上去了(不知会不会对PE系统造成不稳定).
虽然后面的限制(网卡和显卡)但那只是在第一步后才进行的.
如果不 ...


可以预到,通过硬件ID查找INF文件,再分析INF文件,从中把驱动所需的文件复制到PE系统中,这个过程会很慢。本人系统中的INF目录(不算它的下一级目录),就有近1000个文件,40多MB。
回复

使用道具 举报

204#
发表于 2006-12-20 12:57:57 | 只看该作者
原帖由 lxl1638 于 2006-12-20 09:32 AM 发表


可以预到,通过硬件ID查找INF文件,再分析INF文件,从中把驱动所需的文件复制到PE系统中,这个过程会很慢。本人系统中的INF目录(不算它的下一级目录),就有近1000个文件,40多MB。

  速度不一定很慢,关键看代码如何编写。在我的机子上测试,从130多个inf文件中搜索对应的inf,也不过是1到两秒的事情。1000多个inf中,应该不超过20s吧,这样的速度应该可以接受的。
回复

使用道具 举报

205#
 楼主| 发表于 2006-12-20 14:15:57 | 只看该作者
原帖由 namejm 于 2006-12-20 12:57 PM 发表

  速度不一定很慢,关键看代码如何编写。在我的机子上测试,从130多个inf文件中搜索对应的inf,也不过是1到两秒的事情。1000多个inf中,应该不超过20s吧,这样的速度应该可以接受的。


有没有可以在CMD下查找搜索的工具.
系统自带的FINDSTR不支持UNICODE.我本来想用FINDSTR.这个行不通了.
使用FIND不是很好处理.
这个如果解决了,那下一版将有可能采用这个模式.
至于查找速度,我有试过了应该是可以接受的,而且再加上文件过滤后查找就更没有问题了.
回复

使用道具 举报

206#
发表于 2006-12-20 19:35:17 | 只看该作者
原帖由 chenall 于 2006-12-20 02:15 PM 发表


有没有可以在CMD下查找搜索的工具.
系统自带的FINDSTR不支持UNICODE.我本来想用FINDSTR.这个行不通了.
使用FIND不是很好处理.
这个如果解决了,那下一版将有可能采用这个模式.
至于查找速度,我有试过了应该 ...


那就操起VC来专门一个工具吧,或者效率会更高更快。
编程方法对UNICODE文本的处理本人还有些少经验。
http://bbs.wuyou.net/forum.php?m ... 1%26filter%3Ddigest

[ 本帖最后由 lxl1638 于 2006-12-20 07:36 PM 编辑 ]
回复

使用道具 举报

207#
发表于 2006-12-20 20:04:16 | 只看该作者
有这么多高手合作,我可以等现成的了。。。嘿嘿
回复

使用道具 举报

208#
发表于 2006-12-20 20:39:03 | 只看该作者
显卡为865G时,虽然WINPE不要装驱动都可支持1024*768@32位色彩,可是我装这个驱动,怎么也装不上去。

一直以来,都没有主意这个问题,今天发现用浏览器看网页时,才发现,拉动滚动条才发现那刷新得让人受不了

这个问题如何解决呢?
回复

使用道具 举报

209#
发表于 2006-12-20 20:41:31 | 只看该作者
原帖由 zts59 于 2006-12-20 08:39 PM 发表
显卡为865G时,虽然WINPE不要装驱动都可支持1024*768@32位色彩,可是我装这个驱动,怎么也装不上去。

一直以来,都没有主意这个问题,今天发现用浏览器看网页时,才发现,拉动滚动条才发现那刷新得让人受不了
...


安装显卡驱动,不安装驱动就是这样子。
回复

使用道具 举报

210#
发表于 2006-12-20 20:57:47 | 只看该作者
晕,原来驱动包不兼容,更新了一下驱动文件,OK了。

[ 本帖最后由 zts59 于 2006-12-20 09:38 PM 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 04:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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