brostart 发表于 2016-5-4 21:48:42

请教,如何在系统部署阶段搜索移动介质中的驱动包,然后执行?

主要用于操作系统的封装,由于天空的驱动包经常更新,所以我封装系统的时候不打算将驱动包打包进去,而是放在移动介质的目录下。
想要达到的功能,搜索移动介质(U盘、移动硬盘)中WanDrv6(Win7.x64).exe,如果没有就跳过,如果有就执行(如果不同目录中有2个同名文件,只要搜索到第一个就执行并终止搜索)。
FileFindFirstFile和FileFindNextFile,我看了帮助文件,始终不得要领,搜索过其它达人写的类似的_FUNC,和我的需求有出入。
困扰了我将近3个星期了,自己AU3功底差,所以上论坛求助。

skyfree 发表于 2016-5-5 08:22:30

回复 2# afan


Local $Drive = "C:"
If DriveGetType($Drive, 1) = "Removable" Or _
                (DriveGetType($Drive, 1) = "Fixed" And DriveGetType($Drive, 3) = 'USB') Then
        MsgBox(0 + 64, "信息", $Drive & " 是移动存储介质")
Else
        MsgBox(0 + 48, "注意", $Drive & " 不是移动存储介质")
EndIf

afan 发表于 2016-5-5 00:33:59

搜索移动介质(U盘、移动硬盘) —— 包含了移动硬盘,够呛~~移动硬盘和本地硬盘同属 FIXED 类型,那就等于要全盘搜索了,如果仅搜索根目录还好,否则折腾死电脑
建议要么指定盘符,要么指定根目录指定文件夹路径,如:X:\Drivers,这样就可以只搜索几次甚至一次即可

skyfree 发表于 2016-5-5 08:23:50

回复 2# afan


    对了,DriveGetType($Drive, 2) 判定是否为SSD这个有可能会引起系统蓝屏,3.3.12时发现过。

zch11230 发表于 2016-5-5 09:13:06

看别人的系统都是在第一步调用的驱动助理,第二步调用的一些软件什么的。按理说驱动清理干净了,第一步时应该还没识别到移动硬盘。不知道在第二步再调用有没有什么问题。

afan 发表于 2016-5-5 10:03:03

回复afan


    对了,DriveGetType($Drive, 2) 判定是否为SSD这个有可能会引起系统蓝屏,3.3.12时发 ...
skyfree 发表于 2016-5-5 08:23 http://www.autoitx.com/images/common/back.gif


    好的,以后留意~

afan 发表于 2016-5-5 10:05:21

回复afan
skyfree 发表于 2016-5-5 08:22 http://www.autoitx.com/images/common/back.gif


    的确,增加一步检测总线类型可以判断是否为USB移动硬盘,学习了,谢谢~ {:face (411):}

afan 发表于 2016-5-5 10:08:04

看别人的系统都是在第一步调用的驱动助理,第二步调用的一些软件什么的。按理说驱动清理干净了,第一步时应 ...
zch11230 发表于 2016-5-5 09:13 http://www.autoitx.com/images/common/back.gif


    现在的主板应该都是支持从USB设备启动的,既然如此,那部署阶段应该是没问题的

skyfree 发表于 2016-5-5 11:54:33

回复 8# afan


    其实不是这么回事……支持U盘启动和部署时是否能识别U盘是两回事……

afan 发表于 2016-5-5 12:02:22

回复afan


    其实不是这么回事……支持U盘启动和部署时是否能识别U盘是两回事……
skyfree 发表于 2016-5-5 11:54 http://www.autoitx.com/images/common/back.gif


    楼主既然提出这个问题,识别应该是没问题的~
U盘启动和部署识别看来不是一套机制,果真如此的话,如果要通用,还得做些工作了
页: [1]
查看完整版本: 请教,如何在系统部署阶段搜索移动介质中的驱动包,然后执行?