无忧启动论坛

标题: 询问,如何让pecmd在一个目录里查找驱动 [打印本页]

作者: gaokun    时间: 2008-12-3 12:34
标题: 询问,如何让pecmd在一个目录里查找驱动
原来的PE用下面的命令可以找到驱动

FOR /F %%i IN ('Dir /B /A-D ^".\DRIVERS_NET*.CAB^"') DO PECMD.EXE DEVI ".\%%i"

现在我想把cab文件解压到DRIVERS_NET目录,然后在这个目录寻找驱动,用PECMD.EXE DEVI  .\DRIVERS_NET无法找到驱动,是不是命令有问题?
作者: yichya    时间: 2008-12-3 12:58
它就是为了解压缩CAB文件的。
LZ可以去学习下DEVCAB的语法。
作者: gaokun    时间: 2008-12-3 13:05
现在不想用cab压缩包了,直接查找目录要用什么命令?
作者: yichya    时间: 2008-12-3 13:12
好象PECMD没提供这种功能。
LZ尝试学习学习DEVCON程序的用法吧。
作者: gaokun    时间: 2008-12-3 13:31
不会吧,看帮助可以的啊。
devcon能从一个文件夹找驱动?

2008-12-03_133033.jpg (39.01 KB, 下载次数: 64)

2008-12-03_133033.jpg

作者: gaokun    时间: 2008-12-3 17:48
大家帮忙啊

这问题咋解决
作者: gaokun    时间: 2008-12-3 21:09
顶顶,没有办法了吗?
作者: lxl1638    时间: 2008-12-3 21:50
原帖由 gaokun 于 2008-12-3 21:09 发表
顶顶,没有办法了吗?

PECMD的FORX命令说明:
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃      │格式│FORX [@][[!]\]<文件>,<变量>,[数值],<命令> [参数,参数...]<%变量%>[,参数,参数...][,...]       ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │功能│对匹配的文件目录进行对应的命令操作,本命令的功能类似CMD.EXE的for命令。                      ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │参数│■文件: 指定文件目录名,可带有通配符。                                                      ┃
┃      │    │■变量: 指定变量名,该变量不能是已存在的环境变量或已存在的窗口控件名。                      ┃
┃      │    │■数值: 对匹配的文件目录执行相应次数的命令操作,0或<0表示对所有存在的文件执行命令操作。     ┃
┃      │    │■命令: PECMD.EXE合法有效的命令,命令后的参数格式和个数由该命令而定。                       ┃
┃      ├──┼──────────────────────────────────────────────┨
┃'FORX'│示例│◆FORX %CurDir%\Path1\*.DLL,AnyDLL,0,CALL %AnyDLL%                                          ┃
┃      │    │◆FORX \auto*.INF,AutoRunVirus,0,FILE %AutoRunVirus%                                        ┃
┃      │    │◆FORX !\WinPE\WinPE.INI,MyIni,1,LOAD %MyIni%                                               ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │备注│※该命令可以搜索到带有属性的文件目录,如隐藏属性的文件目录。                                ┃
┃      │    │※前导"\"表示搜索所有分区,"!"表示对所有分区进行逆序搜索,两前导"[!]\"符中"!"不能单独存在。 ┃
┃      │    │※前导"@"表示仅搜索目录并进行相应操作,省略该前导表示仅搜索文件并进行相应操作。             ┃
┃      │    │※示例1,表示注册 %CurDir%\Path1\ 目录中的所有 DLL。                                        ┃
┃      │    │※示例2,表示删除所有分区根目录的 auto*.INF 文件。                                          ┃
┃      │    │※示例3,表示逆序搜索所有分区WinPE目录下的WinPE.INI,把搜索的第1个WinPE.INI用LOAD命令加载。 ┃
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫


PECMD的FORX命令可以寻找所有分区指定目录名(如 DRIVERS_NET)中的CAB驱动包,并利用Devi命令加以安装:
FORX \DRIVERS_NET\*.CAB,MyCab,0,DEVI $%MyCab%

[ 本帖最后由 lxl1638 于 2008-12-3 21:54 编辑 ]
作者: gaokun    时间: 2008-12-3 21:59
但还是不能直接查找文件夹里的驱动,要是能查找7z包就好啦,呵呵
作者: lxl1638    时间: 2008-12-3 22:08
原帖由 gaokun 于 2008-12-3 21:59 发表
但还是不能直接查找文件夹里的驱动,要是能查找7z包就好啦,呵呵


7z并非微软的压缩格式文件,要提供这样的支持很难。
CAB压缩与7z压缩在体积上没有多大的差别,同时7z压缩要第三方工具支持,不如直接用CAB格式。
PECMD作为一个WinPE登录命令解释器,不可能做到支持所有格式的压缩文件(你要支持7z,可能有人提出支持RAR)。
作者: 421062724    时间: 2008-12-3 22:54
确实如此,不可能所有都支持,感觉有cab就足够了的说
作者: gaokun    时间: 2008-12-3 23:00
主要是用来压缩网卡驱动包,cab压缩到6MB多,7z居然压到了4M多点,我是改成启动时用7z解压到x盘,所以不需要cab压缩了。
cab压缩后再用7z几乎没有效果,本以为全解压再压成op.7z可以让pe省掉几MB体积的,看来希望落空了。
作者: gaokun    时间: 2008-12-4 13:00
扯远啦,我只是希望能从一个目录里查找驱动而已,7z压缩那是没启动前的打包,启动后已经解开了。
作者: gaokun    时间: 2008-12-7 08:25
发现如果使用不压缩的cab格式,再使用7z压缩也可以达到很高的压缩率,就这样吧。
作者: hydro    时间: 2008-12-7 09:54
原帖由 lxl1638 于 2008-12-3 21:50 发表

PECMD的FORX命令说明:


PECMD的FORX命令可以寻找所有分区指定目录名(如 DRIVERS_NET)中的CAB驱动包,并利用Devi命令加以安装:

这个用法记下了,留个脚印
作者: lisong    时间: 2008-12-8 13:37
留个脚印,方便以后学习




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3