无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
12571#
发表于 2016-9-17 07:47:17 | 只看该作者
回复

使用道具 举报

12572#
发表于 2016-9-18 09:41:45 | 只看该作者
本帖最后由 pseudo 于 2016-9-18 09:46 编辑

在0pe的xppe(我签名处有链接)中,将老九版pecmd换成楼主版本,发现除了VMware虚拟机外,实机加载不好网卡驱动。详见我帖子#2864楼:http://bbs.wuyou.net/forum.php?m ... 705&pid=3276441
用的都是
devi $cab文件
方式。
请教楼主,新版pecmd加载网卡驱动要注意什么事项?

点评

试试这种格式 或者  详情 回复 发表于 2016-9-20 20:48
回复

使用道具 举报

12573#
发表于 2016-9-20 20:48:30 | 只看该作者
pseudo 发表于 2016-9-18 09:41
在0pe的xppe(我签名处有链接)中,将老九版pecmd换成楼主版本,发现除了VMware虚拟机外,实机加载不好网卡 ...

试试这种格式
  1. DEVI $D:\DRV.CAB,,%TEMP%
复制代码


或者
  1. DEVI $D:\DRV.CAB,,*
复制代码
回复

使用道具 举报

12574#
发表于 2016-9-20 21:34:16 | 只看该作者
你好,我有个小问题,

上图中的磁盘名字,用PECMD命令怎么取得?
有详细的过程吗?望解答下,谢谢。想用这个做个小工具。
我的邮箱:selina@seaula.cn

点评

PART -devid list disk 0,V MESS %V% // 0 1000204886016 121601 255 63 512 12 FAFC2065 3 MBR F IDE\DISKHGST_HTS721010A9E630____________________JB0OA3J0\4&2266D880&0&0.0.0 // 自己再  详情 回复 发表于 2017-6-3 18:02
回复

使用道具 举报

12575#
发表于 2016-10-6 21:36:25 | 只看该作者
要让pe中程序以管理员身份运行,配置文件怎么写
回复

使用道具 举报

12576#
发表于 2016-10-25 20:26:32 | 只看该作者
红毛樱木 发表于 2016-9-7 01:08
上面的DEVI命令无效。
举例,
我把驱动解压出来放在"C:\DRV"下

确实,测试结果也是如此,用forx来查找再安装,主要是是否安装成功没有返回参数,觉得m大可以给这个命令设定一个返回值,不知可行不?

点评

用FORX查找再安装,会一个个的INF安装吧。。。 会不会造成每执行一次DEVI命令都要搜索一遍硬件ID呢?这样效率不高。 DEVI 安装成功返回0吧,试试%error%变量的返回是什么,我记得有的。  详情 回复 发表于 2016-10-25 20:57
回复

使用道具 举报

12577#
发表于 2016-10-25 20:57:57 | 只看该作者
hhh333 发表于 2016-10-25 20:26
确实,测试结果也是如此,用forx来查找再安装,主要是是否安装成功没有返回参数,觉得m大可以给这个命令 ...

用FORX查找再安装,会一个个的INF安装吧。。。
会不会造成每执行一次DEVI命令都要搜索一遍硬件ID呢?这样效率不高。
DEVI 安装成功返回0吧,试试%error%变量的返回是什么,我记得有的。

点评

经查实%error%变量确实可用,安装成功则返回0  详情 回复 发表于 2016-10-26 09:09
回复

使用道具 举报

12578#
发表于 2016-10-26 09:09:27 | 只看该作者
红毛樱木 发表于 2016-10-25 20:57
用FORX查找再安装,会一个个的INF安装吧。。。
会不会造成每执行一次DEVI命令都要搜索一遍硬件ID呢?这 ...

经查实%error%变量确实可用,安装成功则返回0
回复

使用道具 举报

12579#
发表于 2016-10-26 09:35:50 | 只看该作者
目前需要安装的主要是网卡与显卡,下述代码可以扫描安装目录下的inf驱动,暂定搜索深度2层子目录

  1. _SUB LanID        `检测有线是否安装成功
  2. ENVI LanID=
  3. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0000\NetCfgInstanceId,LanID
  4. _END

  5. _SUB WlanID        `检测无线是否安装成功
  6. ENVI WlanID=
  7. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0000\NetType,WlanID
  8. FIND $%WlanID%="WLAN",!REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\NetType,WlanID
  9. FIND $%WlanID%="WLAN",!REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\NetType,WlanID
  10. FIND $%WlanID%="WLAN",!ENVI WlanID=
  11. _END

  12. _SUB DispID        `检测显卡是否安装成功
  13. ENVI DispID=
  14. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\UserModeDriverGUID,DispID
  15. _END

  16. _SUB InsSubInfDisp        `显卡类安装
  17. FORX /S:2 %1\*.inf,inf,0,
  18. {
  19.         DEVI %inf%,Display
  20.         CALL DispID
  21.         FIND $%DispID%=,!EXIT FORX
  22.         `FIND $%ERROR%=0,EXIT FORX
  23. }
  24. _END

  25. _SUB InsSubInfNet        `网卡类安装
  26. FORX /S:2 %1\*.inf,inf,0,
  27. {
  28.         DEVI %inf%,Net
  29.         IFEX $%2>0,
  30.         {
  31.                 CALL WlanID
  32.                 FIND $%WlanID%=,!EXIT FORX
  33.         }!
  34.         {
  35.                 CALL LanID
  36.                 FIND $%LanID%=,!EXIT FORX
  37.         }       
  38. }
  39. _END

  40. CALL InsSubInfDisp        显卡存放路径
  41. CALL InsSubInfNet        有线网卡存放路径
  42. CALL InsSubInfNet        无线网卡存放路径 2

复制代码

点评

如果是双有线网卡,或者双显卡的情况,这个不知道准不准了。  详情 回复 发表于 2016-10-26 11:14
回复

使用道具 举报

12580#
发表于 2016-10-26 11:14:23 | 只看该作者
hhh333 发表于 2016-10-26 09:35
目前需要安装的主要是网卡与显卡,下述代码可以扫描安装目录下的inf驱动,暂定搜索深度2层子目录

如果是双有线网卡,或者双显卡的情况,这个不知道准不准了。

点评

这种情况就要进一步处理了,目前代码暂时未考虑双显双网。总之这个方法较笨,限制较多,M大有必要强化DEVI的功能。  详情 回复 发表于 2016-10-26 17:51
回复

使用道具 举报

12581#
发表于 2016-10-26 17:08:27 | 只看该作者
MOUN \Sean\Tools\Extend.WIM,Y:\外置程序\,1,%Temp% 我用moun挂载wim,挂载失败,看日志提示是函数错误,如何解决啊

点评

挂在本地硬盘空目录可以吗?  详情 回复 发表于 2017-6-3 17:57
回复

使用道具 举报

12582#
发表于 2016-10-26 17:51:56 | 只看该作者
本帖最后由 hhh333 于 2016-10-26 17:55 编辑
红毛樱木 发表于 2016-10-26 11:14
如果是双有线网卡,或者双显卡的情况,这个不知道准不准了。


这种情况就要进一步处理了,目前代码暂时未考虑双显双网。总之这个方法较笨,限制较多,M大有必要强化DEVI的功能。
你以前发布的显卡CAB驱动,由于文件较大,用CAB安装比较费时,但解开后用这个代码安装要快很多,可见一旦CAB包较大速度明显变慢

点评

用这个方法安装的,输出日志看看,是不是每个INF安装,DEVI命令会不会每次都列表一次本机硬件ID  详情 回复 发表于 2016-10-26 18:03
回复

使用道具 举报

12583#
发表于 2016-10-26 18:03:34 | 只看该作者
hhh333 发表于 2016-10-26 17:51
这种情况就要进一步处理了,目前代码暂时未考虑双显双网。总之这个方法较笨,限制较多,M大有必要强化D ...

用这个方法安装的,输出日志看看,是不是每个INF安装,DEVI命令会不会每次都列表一次本机硬件ID

点评

1:获得列表挺费时间的,系统调用。不知道MS干嘛。 和“硬件管理”的刷新差不多耗时。 2 多个INF,不重复获得列表。 3:解压CAB挺慢的。 尽量CAB弄小点,分类打包。  详情 回复 发表于 2017-6-3 17:56
应该会列表一次,DEVI的逻辑是这样的,不知有否更有效率的方法  详情 回复 发表于 2016-10-26 18:17
回复

使用道具 举报

12584#
发表于 2016-10-26 18:17:57 | 只看该作者
本帖最后由 hhh333 于 2016-10-26 18:22 编辑
红毛樱木 发表于 2016-10-26 18:03
用这个方法安装的,输出日志看看,是不是每个INF安装,DEVI命令会不会每次都列表一次本机硬件ID


应该会列表一次,DEVI的逻辑是这样的,不知有否更有效率的方法。
不过这种扫描应该是注册表操作,因此是在内存中的,不要轮询外设,应该是很快的

点评

其实我觉得一个配置文件里执行多个DEVI命令时,只扫描一次硬件ID是最妥当的  详情 回复 发表于 2016-10-26 22:01
回复

使用道具 举报

12585#
发表于 2016-10-26 18:25:11 | 只看该作者
要么你将代码改一下,先扫描一下注册表看是否有双网双显,有就允许成功匹配两次就应该OK了
回复

使用道具 举报

12586#
发表于 2016-10-26 22:01:05 | 只看该作者
hhh333 发表于 2016-10-26 18:17
应该会列表一次,DEVI的逻辑是这样的,不知有否更有效率的方法。
不过这种扫描应该是注册表操作,因此 ...

其实我觉得一个配置文件里执行多个DEVI命令时,只扫描一次硬件ID是最妥当的

点评

%error%只能代表命令是不是被正确执行,并不能代表是不是匹配成功,因此每一个inf基本都会被正确执行。  详情 回复 发表于 2016-10-27 23:35
回复

使用道具 举报

12587#
发表于 2016-10-27 23:35:37 | 只看该作者
本帖最后由 hhh333 于 2016-10-27 23:39 编辑
红毛樱木 发表于 2016-10-26 22:01
其实我觉得一个配置文件里执行多个DEVI命令时,只扫描一次硬件ID是最妥当的

经过测试:
1、%error%只能代表命令是不是被正确执行,并不能代表是不是匹配成功,因此每一个inf基本都会被正确执行。
2、每执行一次DEVI都首先会对硬件列表扫描一次,而每次的结果都是一样的,如果FORX来扫描inf文件安装效率将十分低下。

点评

老大两个多月没出现了,估计工作忙。 问题2,前段时间提过类似的,只有等老大出来处理了  详情 回复 发表于 2016-10-28 01:11
回复

使用道具 举报

12588#
发表于 2016-10-28 01:11:54 来自手机 | 只看该作者
hhh333 发表于 2016-10-27 23:35
经过测试:
1、%error%只能代表命令是不是被正确执行,并不能代表是不是匹配成功,因此每一个inf基本都 ...

老大两个多月没出现了,估计工作忙。
问题2,前段时间提过类似的,只有等老大出来处理了
回复

使用道具 举报

12589#
发表于 2016-10-30 15:37:40 来自手机 | 只看该作者
各位老大,EDIT的窗口多次拖入多个文件怎么弄?现在拖一次就会把上次拖入的记录删除

点评

什么意思啊?没明白  详情 回复 发表于 2017-6-24 06:46
回复

使用道具 举报

12590#
发表于 2016-10-31 07:41:44 | 只看该作者
devi xxx.cab形式的命令后立即执行相关的注册表操作会提示安装无签名而不能安装成功,我现在采用ljycslg的方案用dpinst工具来安装inf
回复

使用道具 举报

12591#
发表于 2016-11-14 17:26:28 | 只看该作者
老师,imdisk什么时候有空编译一个新版,谢谢。
回复

使用道具 举报

12592#
发表于 2016-11-19 21:52:15 | 只看该作者
xxfx谢谢分享
回复

使用道具 举报

12593#
发表于 2016-11-21 00:18:43 | 只看该作者
绝对喜欢,好帖子不多哦,顶一下
回复

使用道具 举报

12594#
发表于 2016-12-5 17:28:41 | 只看该作者
老大怎么一直没回复,DEVI真的要大动一下了。
回复

使用道具 举报

12595#
发表于 2016-12-5 23:30:14 | 只看该作者
谢谢分享
回复

使用道具 举报

12596#
发表于 2016-12-21 15:50:47 | 只看该作者
PAGE命令有BUG
※当可用内存>初始大小时,本命令将不设置页文件,即可以定义初始大小来作为设置页文件的条件。

PAGE C:\PAGEFILE.SYS 1024 2048
实际使用中是以2048作为条件的。

点评

这命名就这样的。内存够就不设。4.0就这个逻辑。 PAGE *force 不检测,强制设。  详情 回复 发表于 2017-6-3 17:28
回复

使用道具 举报

12597#
发表于 2016-12-31 20:17:52 | 只看该作者
M大  moun命令 在win10pe无效     pecmd问题还是pe
回复

使用道具 举报

12598#
发表于 2017-1-7 14:08:21 | 只看该作者
DevCon 将返回一个在脚本中使用的错误级别:
“0”指示成功。
“1”指示需要重新启动。
“2”指示失败。
“3”指示语法错误。


这样应该用devi *devcon安装驱动的时候,如果devcon.exe返回1就不需要再用PECMD自身再装一遍了。之前没看到这个返回信息的准确说明,现在有了。

点评

好。这个号  详情 回复 发表于 2017-6-3 17:46
回复

使用道具 举报

12599#
发表于 2017-1-17 19:12:05 | 只看该作者
SET &WIM_GENERIC_READ = 0x80000000 // GENERIC_READ
SET &WIM_GENERIC_WRITE = 0x40000000 // GENERIC_WRITE
SET &WIM_GENERIC_MOUNT = 0x20000000 // GENERIC_EXECUTE

SET &WIM_CREATE_NEW = 0x00000001 // CREATE_NEW
SET &WIM_CREATE_ALWAYS = 0x00000002 // CREATE_ALWAYS
SET &WIM_OPEN_EXISTING = 0x00000003 // OPEN_EXISTING
SET &WIM_OPEN_ALWAYS = 0x00000004 // OPEN_ALWAYS
ENVI &gsWimDLL=%Systemroot%\System32\wimgapi.dll
ENVI &sWimFile=E:\sysprep-wim\MyPE.wim
ENVI &aResult=
CALL $--qd --ret:&aResult %&gsWimDLL%,WIMCreateFile,$%&sWimFile%,%&WIM_GENERIC_READ%,%&WIM_OPEN_EXISTING%,0,0,#0

how work?

点评

SET &WIM_GENERIC_READ=0x80000000 // GENERIC_READ SET &WIM_GENERIC_WRITE=0x40000000 // GENERIC_WRITE SET &WIM_GENERIC_MOUNT=0x20000000 // GENERIC_EXECUTE SET &WIM_CREATE_NEW=0x00000001 // CREA  详情 回复 发表于 2017-6-3 17:43
同样想知道,我只会用wimgapi.dll挂载wim,不会卸载,怎么玩都不行  详情 回复 发表于 2017-1-19 14:40
回复

使用道具 举报

12600#
发表于 2017-1-19 14:40:17 来自手机 | 只看该作者
powerpcpc 发表于 2017-1-17 19:12
SET &WIM_GENERIC_READ = 0x80000000 // GENERIC_READ
SET &WIM_GENERIC_WRITE = 0x40000000 // GENERIC_W ...

同样想知道,我只会用wimgapi.dll挂载wim,不会卸载,怎么玩都不行

点评

wimgapi.dll释放WIM和制作WIM老大会吗?能不能指导一下  详情 回复 发表于 2017-4-15 17:21
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-24 12:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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