无忧启动论坛

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

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

    [复制链接]
3121#
发表于 2012-5-31 08:20:16 | 只看该作者
回复

使用道具 举报

3122#
发表于 2012-5-31 12:13:47 | 只看该作者
想问 pecmd2012 有什么指指令, 可替代下列指令呢?
regsvr32.exe /s xxx.dll
回复

使用道具 举报

3123#
发表于 2012-5-31 15:13:14 | 只看该作者
问题是下载的这个SFX。ZIP文件怎么用啊?那个18M大的PE又在哪里,如何是启动。

太菜了,看不懂,只能求助!
回复

使用道具 举报

3124#
 楼主| 发表于 2012-5-31 15:52:44 | 只看该作者

回复 #3244 zxq0103 的帖子

问题是下载的这个SFX。ZIP文件, 用 WINRAR解开。
运行解开的 PECMD.exe, 有帮助。


那个18M大的PE又在哪里?
http://mdyblog.blog.163.com/blog/static/106150119201202591855298/
接近末尾的地方, 三栖版, VMWARE 加载启动
回复

使用道具 举报

3125#
发表于 2012-5-31 18:04:20 | 只看该作者
原帖由 nu852 于 2012-5-31 12:13 发表
想问 pecmd2012 有什么指指令, 可替代下列指令呢?
regsvr32.exe /s xxx.dll



我记得好像只要dll放到systeme32下,系统会自动注册该dll
回复

使用道具 举报

3126#
发表于 2012-5-31 18:08:43 | 只看该作者

回复 #3245 2012abc19701 的帖子

WIN7PE
我使用devi命令安装驱动

  1. DEVI $DRIVERS_NET*.CAB,,%Temp%
  2. DEVI $DRIVERS_NET_WIRELESS.CAB,,%Temp%
复制代码


或者

  1. DEVI $DRIVERS_NET*.CAB
  2. DEVI $DRIVERS_NET_WIRELESS.CAB
复制代码


结果出现问题:
1、没有按照说明说“省略[释放目录]时,将进行驱动匹配解压,INF文件  ” 。
2、执行命令后,发现svchost.exe 占cpu80%,lsass.exe占cpu 15% 一直持续。
回复

使用道具 举报

3127#
 楼主| 发表于 2012-5-31 18:38:31 | 只看该作者

回复 #3247 hotdll 的帖子

※驱动文件是CAB压缩包时,(WIN7PE)NT6.x系统中。有前导'$'[释放目录]默认为%TEMP%;
DEVI $DRIVERS_NET*.CAB
DEVI $DRIVERS_NET_WIRELESS.CAB

发现svchost.exe 占cpu80%,lsass.exe占cpu 15% 一直持续
是不是驱动问题。 把网线拔掉试试。
回复

使用道具 举报

3128#
发表于 2012-5-31 19:33:07 | 只看该作者

回复 #3248 2012abc19701 的帖子

但是我在设备管理器手动安装没问题啊。并且很快。

我看了下devi命令好像是调用devinst.exe和devload命令加载驱动。

2012abc19701大大能不能说明下pecmd devi命令安装的原理?

另外2012abc19701大大,为什么不调用windows的安装匹配id的驱动?
回复

使用道具 举报

3129#
发表于 2012-5-31 20:15:37 | 只看该作者
弄好了
.......................

[ 本帖最后由 dvd008 于 2012-5-31 21:13 编辑 ]
回复

使用道具 举报

3130#
发表于 2012-5-31 20:22:18 | 只看该作者
原帖由 2012abc19701 于 2012-5-31 18:38 发表
※驱动文件是CAB压缩包时,(WIN7PE)NT6.x系统中。有前导'$'[释放目录]默认为%TEMP%;
DEVI $DRIVERS_NET*.CAB
DEVI $DRIVERS_NET_WIRELESS.CAB

发现svchost.exe 占cpu80%,lsass.exe占cpu 15% 一直持续
...


--------------------------.
楼主,请帮我看看代码错在哪?
ENVI$ TAB=09
ENVI$ NLC=0a
SET  &::WM_MOUSEENTER=0x1000
SET  &::WM_MOUSEHOVER=0x02A1
SET  &::WM_MOUSELEAVE=0x02A3
SET  &::WM_LBUTTONDOWN=0x0201
CALL @窗(子切换命令0)
_SUB 窗(子切换命令0),L0T0W320H225,命令切换窗口,*,shell32.dll#24,10,*,-discloseb
    TABL -font:13 -color:00xACFFAC#0x004000#0xFF00FF TABL1,L5T6W300H92,100:程序名称%TAB%#0xFF00FF+150:版本%TAB%150:备注,101%TAB%661%NLC%102%TAB%662%NLC%103%TAB%663%NLC%104%TAB%664%NLC%105%TAB%665,0x400
    ENVI @TABL1.MSG=%&WM_MOUSEENTER%: ENVI @LABE1=欢迎进入表格TABL1
    ENVI @TABL1.MSG=0x02A1: ENVI @LABE1=欢迎惠顾表格TABL1
    ENVI @TABL1.MSG=0x02A3: ENVI @LABE1=欢迎再来表格TABL1
    ENVI @TABL1.MSG=%&WM_LBUTTONDOWN%: ENVI @TABL1.POSTMSG=#1
    ENVI @TABL1.MSG=#1: CALL  OnLButton
    EDIT LABE1,L5T102W300H55,,,0
    ITEM 按钮1,L74T160W60H36,保存参数,TEAM CALL 子(保存表格数据0),,4
    ITEM 按钮2,L135T160W60H36,确定,,,4
    ITEM 按钮3,L196T160W55H36,返回,,,0
    ITEM ITEM4,L252T160W55H36,退出,KILL \,
    CHEK CHEK7,L10T160W60H16,备份,,
    ITEM ITEM8,L4T176W60H20,还原,
_END
_SUB  OnLButton
      ENVI  @TABL1.Color=1,0x0000FF  //设置列颜色无效
      ENVI  @TABL1.Color=*0,0x00FF00 //设置行颜色无效
      ENVI  @TABL1.Color=*2.2,0x00FF00  //设置单独单元格颜色无效,三个参数全开,字体颜色会乱

    ENVI  @TABL1.Sel=?&&Sel  //获得当前选择行号
    ENVI  @TABL1.Sel=?*&&Sels //也是获得行号
    ENVI  @TABL1.Check=%&Sel%,1 //设置勾选
    ENVI  @TABL1.Val=?%&Sel%,&&VAL  //查询选择的行数据
    ENVI  @TABL1.Val=?*,&&LINES,&&COLS //获得表格的最大行数和列数
    ENVI  @TABL1.Check=?%&Sel%,&&Cko   //勾选查询无效
    ENVI  @TABL1.Val=?%&Sel%.2,&&dat1  //获得当前选择行与列对应的单元格数据
    ENVI  @LABE1=选择 [*%&Sels%] %&Sel% [%&VAL%] [%&LINES%]*[%&COLS%]-[%&dat1%] *[%&Cko%]
_END

我想用鼠标点选第三行第二列的单元格,但是只有行号的整行选择,还有就是无法单独查询列号。
请问楼主是否不能用鼠标选择单独的单元格?还有不支持查询列号和勾选对吗?因为我的代码都
没有反应,请楼主看看,谢谢!

[ 本帖最后由 988668 于 2012-5-31 21:11 编辑 ]
回复

使用道具 举报

3131#
 楼主| 发表于 2012-5-31 22:14:59 | 只看该作者

回复 #3249 hotdll 的帖子

》》我看了下devi命令好像是调用devinst.exe和devload命令加载驱动。

2012abc19701大大能不能说明下pecmd devi命令安装的原理?

另外2012abc19701大大,为什么不调用windows的安装匹配id的驱动

ACK:
WIN7PE 是调用 drvload.exe

>>为什么不调用windows的安装匹配id的驱动
WINPE 下, 不可用。


pecmd devi 也 是 匹配 设备id。

是不是,包内相似的驱动太多。

就留正确的 驱动 打包,试试。
回复

使用道具 举报

3132#
 楼主| 发表于 2012-5-31 22:25:22 | 只看该作者

PECMDEIT 1.0.19

PECMDEIT 1.0.19 支持行号。
回复

使用道具 举报

3133#
 楼主| 发表于 2012-6-1 00:37:55 | 只看该作者
原帖由 988668 于 2012-5-31 20:22 发表
--------------------------.
楼主,请帮我看看代码错在哪?
ENVI$ TAB=09
ENVI$ NLC=0a
SET  &::WM_MOUSEENTER=0x1000
SET  &::WM_MOUSEHOVER=0x02A1
SET  &::WM_MOUSELEAVE=0x02A3
SET  &::WM_LBU ...


※可用"ENVI @表格名称.Sel=?.[行变量名][,列变量名]"来获得当前鼠标下单元位置。<=0无效。

│※查询鼠标位置: ENVI @@Cur=?[变量名X][,变量名Y]                                            ┃
│※移动鼠标位置: ENVI @@Cur=X,Y                                                             ┃
│※查询鼠标位置: ENVI @窗口名.Cur=?[变量名X][,变量名Y][,变量名客户坐标X][,变量名客户坐标Y]  ┃
│※移动鼠标位置: ENVI @窗口名.Cur=X,Y                                                       ┃

│ENVI @窗口和控件名.POS=左:上:宽:高:层级                                                     ┃
│ENVI @窗口和控件名.POS=?左名:上名:宽名:高名:X0名:Y0名    //查询                             ┃





当前鼠标下单元位置:

ENVI @TABL1.Sel=?.&Line,&Col



回复

使用道具 举报

3134#
发表于 2012-6-1 09:58:32 | 只看该作者

回复 #3252 2012abc19701 的帖子

1、我怎么感觉好像devi 把cab包内的所有Inf都给安装了一遍啊?

2、能不能给devi增加一个匹配控制器的选项:比如价格参数NET 就是匹配网络适配器驱动?

[ 本帖最后由 hotdll 于 2012-6-1 10:29 编辑 ]
回复

使用道具 举报

3135#
发表于 2012-6-1 10:51:53 | 只看该作者
原帖由 2012abc19701 于 2012-6-1 00:37 发表


※可用"ENVI @表格名称.Sel=?.[行变量名][,列变量名]"来获得当前鼠标下单元位置。


-----------------------------
非常谢谢楼主,问题都解决了 ^_^。不过个人觉得有些地方还是可以改进一下:
1、高亮选择行,第一种方式:可以设置为点行首的时候才高亮整行,其它的按查询来高亮。第二种:保持现在
   单击的不变,增加双击鼠标才高亮查询的单元格。我喜欢第二种方式,不知楼主喜欢?
2、高亮的颜色和字体如果可以允许设置会更加好,但保持现在的作为初始默认值。
3、增加允许批量查询就堪称完美了。
4、其它:可以的话请增加SITE查询“文件版本/创建时间/修改时间/访问时间/文件的4属性”功能。
**同时我还留意到新版中鼠标离开TABL之后,高亮行有变化了,还有今天的编辑器版本,也增强了不少,楼主
很强啊!但是看看楼主修改的时间:“2012年6月1日 今天, 4:45:42”,不说冠冕的话,真的谢谢了!不过请
楼主多注意休息。
回复

使用道具 举报

3136#
 楼主| 发表于 2012-6-1 11:05:41 | 只看该作者

回复 #3255 hotdll 的帖子

所有INF 都看看, 是否有设备匹配。 有则安装。
打开LOGS  
LOGS  X:\dev.log

在查看  X:\dev.log 就知道具体安装了哪些 INF

DEVI  基本上只有 PE用。
考虑 PE的通用性,这种(自动)几乎是其唯一用法。 其它,实际中几乎不会用。


注意: 两个版本的相同驱动, 可能有问题。


还可以 DEVI 先解开到某临时目录, 再 DEVI 直接安装指定INF。
回复

使用道具 举报

3137#
发表于 2012-6-1 11:40:45 | 只看该作者

回复 #3257 2012abc19701 的帖子

看来最佳的办法是在g4d中利用pcichk检测网卡Id,然后拷贝到仿真盘。。。进入win7pe后用devi命令加载仿真盘的驱动。。
回复

使用道具 举报

3138#
 楼主| 发表于 2012-6-1 20:52:55 | 只看该作者

回复 #3258 hotdll 的帖子

DEVI 内部 有 检测(设备ID)网卡Id 机制。
你说的 分类。
PE 中 一般 分类打包; 而不是 整个打一个大包。
回复

使用道具 举报

3139#
发表于 2012-6-1 21:20:48 | 只看该作者

回复 #3259 2012abc19701 的帖子

我查看了下 %temp%目录

DEVI命令确实是把整个CAB包全部解开了。。。。

安装的时候匹配ID并不仅仅是匹配 网卡一个的ID,而是所有设备的ID。。。。

所以耗时很长。。。

比如会查询声卡,显卡。。IDE scsi等等没有驱动的设备,然后匹配ID。。。。耗时1分钟以上。3分钟以内,CAB包在2M的情况下

经过测试,如果指定单一的inf,则速度很快。

我猜测DEVI命令应该是调用内置的devinst.exe 去查询没有驱动的设备ID,然后调用devload去匹配和安装INF驱动。

因为我在DEVI命令执行的时候。看到十几次devinst.exe和devload轮番出现在任务管理器。

system32下没发现devinst.exe,发现了devload.exe,并且使用devload.exe也可以安装驱动。

很显然。devi命令是负责解包,以及利用循环匹配ID和调用DEVLOAD.EXE安装驱动的。要是能完善下匹配机制就更好了。

我希望是加参数 --net,这样查询的时候只查询网卡ID

[ 本帖最后由 hotdll 于 2012-6-1 21:25 编辑 ]
回复

使用道具 举报

3140#
 楼主| 发表于 2012-6-1 21:32:34 | 只看该作者

回复 #3260 hotdll 的帖子

匹配ID 是PECMD的事。
7PE:
PECMD 列出所有 ID 和INF, 查找匹配ID的INF。 再 drvload.exe 安装改 INF。

XPPE, 不需要 DRVLOAD, 直接安装。
win7 驱动安装太复杂,所以直接调用MS的drvload 了事。
回复

使用道具 举报

3141#
 楼主| 发表于 2012-6-1 21:35:12 | 只看该作者

回复 #3260 hotdll 的帖子

为什么 只有 --net 。
网络驱动很区别吗?
还有显卡, 声卡等类别。

一般PE, NET驱动 打个包。显卡 打个包。 声卡 打个包。  。。。。
需要 安装 NET驱动。 DEVI  $NET驱动.CAB
DEVI  $显卡驱动.CAB
DEVI  $声卡驱动.CAB
回复

使用道具 举报

3142#
发表于 2012-6-1 21:43:13 | 只看该作者
原帖由 2012abc19701 于 2012-6-1 21:35 发表
为什么 只有 --net 。
网络驱动很区别吗?
还有显卡, 声卡等类别。

一般PE, NET驱动 打个包。显卡 打个包。 声卡 打个包。  。。。。
需要 安装 NET驱动。 DEVI  $NET驱动.CAB
DEVI  $显卡驱动.CAB
D ...



2012abc19701大大没明白我的意思:

实际上PE作为维护的时候使用,安装需要的最多是网卡驱动和SCSI驱动。

我说--net是举个例子。

像现在PECMD 列出所有 硬件ID,然后去逐个INF匹配,这样肯定慢,比如我只需要声卡驱动,但是您可能列出了 网卡,显卡,磁盘,CPU。等等ID。。。。

假设有100个INF文件。那么就需要重复匹配100个INF文件 N次。

加入参数后,可以只匹配需要的ID。
回复

使用道具 举报

3143#
发表于 2012-6-1 21:45:09 | 只看该作者
原帖由 2012abc19701 于 2012-6-1 21:35 发表
为什么 只有 --net 。
网络驱动很区别吗?
还有显卡, 声卡等类别。

一般PE, NET驱动 打个包。显卡 打个包。 声卡 打个包。  。。。。
需要 安装 NET驱动。 DEVI  $NET驱动.CAB
DEVI  $显卡驱动.CAB
D ...



例如:G4D就有匹配的机制:

CHKPCI -cc:Class [-o] [FILE]

Class Codes:            Class Description
0x00         Devices built before class codes (i.e. pre PCI 2.0)
0x01         Mass storage controller
0x02         Network controller
0x03         Display controller
0x04         Multimedia device
0x05         Memory Controller
0x06         Bridge Device
0x07         Simple communications controllers
0x08         Base system peripherals
0x09         Inupt devices
0x0A         Docking Stations
0x0          Processorts
0x0C         Serial bus controllers
0x0D-0xFE    Reserved
0xFF         Misc

我是希望devi命令能加上一个参数的时候,只匹配该参数对应的硬件ID。这样会节省很多时间。
回复

使用道具 举报

3144#
 楼主| 发表于 2012-6-1 21:47:19 | 只看该作者

PECMD2012.1.69.69_win32.多窗口多线程-24.sfx.zip

PECMD2012.1.69.69_win32.多窗口多线程-24.sfx.zip:


TABL:
   [-color:[背景色][#文字背景色][#默认文字颜色][#选择单元格颜色]]   


选择单元颜色可为-1,表示取消默认的颜色;只能选择一行时对行选择也有效。


双击选择单元格。

单击选择行(只能选择一行,有正确选择单元格颜色)。





│SITE ?变量名=FVER,文件名                                                     ※查询文件版本
│SITE ?[
  • 创建时间变量名][,
  • 写时间变量名][,
  • 访问时间变量名]=FTIME,文件名 ※查询文件时间
    │SITE ?[A变量名][,H变量名][,R变量名][,S变量名][,完整变量名]=FATTR,文件名      ※查询文件属性

    │※SITE命令既可设置文件属性,也可设置目录属性。时间变量名前*则返回UTC时间整数,可直接比较运算
    │   ;否则字符串,各个段等宽,为年月日时分秒微秒星期。  FVER/FVER/FATTR 映射到ENVI/SET命令。
    │   AHRS变量返回0或1;完整变量返回全部(不只4个)属性16进制;失败为空。



    完整变量返回:AHRS, 压缩, DIR/FILE, 加密,索引,
    FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_REPARSE_POINT,
    FILE_ATTRIBUTE_SPARSE_FILE,FILE_ATTRIBUTE_TEMPORARY




    还可以 ENVI/SET  调用。

    如  ENVI ?变量名=FVER,文件名                                                          ※查询文件版本
  • 回复

    使用道具 举报

    3145#
     楼主| 发表于 2012-6-1 22:30:15 | 只看该作者

    回复 #3264 hotdll 的帖子

    可以。 但是 有几个人知道设备ID,
    知道了设备ID,自然知道 INF, 直接DEVI $INF文件
    回复

    使用道具 举报

    3146#
     楼主| 发表于 2012-6-1 22:33:43 | 只看该作者

    回复 #3263 hotdll 的帖子

    》》像现在PECMD 列出所有 硬件ID,然后去逐个INF匹配,这样肯定慢,比如我只需要声卡驱动,但是您可能列出了 网卡,显卡,磁盘,CPU。等等ID。。。。

    假设有100个INF文件。那么就需要重复匹配100个INF文件 N次。

    :::
    匹配的速度很快,所用的时间可以忽略不计。
    C++  处理这些非常快。
    时间都花在安装 INF上。
    回复

    使用道具 举报

    3147#
    发表于 2012-6-1 22:34:33 | 只看该作者
    原帖由 2012abc19701 于 2012-6-1 22:30 发表
    可以。 但是 有几个人知道设备ID,
    知道了设备ID,自然知道 INF, 直接DEVI $INF文件


    这样的目的是为了提高效率和更智能一些。

    因为设备ID可以利用PECMD获取。那么驱动分类的时候只要按 驱动类别打包就可以了。。。

    这样加载驱动的时候可以分别匹配,提高效率

    例如:
    DEVI --NET $NET_DRIVER.CAB
    DEVI --VGA $VAG_DRIVER.CAB
    DEVI --SOUD $SOUD_DRIVER.CAB

    减少了匹配ID和驱动文件的遍历次数。并且可以做到按需加载。需要声卡驱动就探测本机的声卡驱动的ID,然后去匹配声卡驱动包中的INF文件。

    其他非声卡的硬件ID不再去匹配INF文件。
    回复

    使用道具 举报

    3148#
    发表于 2012-6-1 22:35:43 | 只看该作者
    原帖由 2012abc19701 于 2012-6-1 22:33 发表
    》》像现在PECMD 列出所有 硬件ID,然后去逐个INF匹配,这样肯定慢,比如我只需要声卡驱动,但是您可能列出了 网卡,显卡,磁盘,CPU。等等ID。。。。

    假设有100个INF文件。那么就需要重复匹配100个INF文件 ...


    论坛上的WIN7PE基本上使用的都是一个人做的网卡驱动包。好像是老水的驱动包。

    您可以测试下,加载网卡驱动包,至少要2分钟。

    但是如果我用g4d的chkpci --cc:0x02 命令探测网卡ID,然后执行G4D的批处理去调用FAT命令COPY该驱动到仿真的A盘,然后在PECMD.INI调用DEVI命令去安装A盘的INF文件,则只要几秒钟。。

    但是这个方法比较繁琐。

    当然,2012ABC19701大大如果愿意的,我非常感谢,如果没时间的话,用G4D变通替代也是可以接受的。请大大考虑。

    [ 本帖最后由 hotdll 于 2012-6-1 22:38 编辑 ]
    回复

    使用道具 举报

    3149#
    发表于 2012-6-2 10:24:38 | 只看该作者

    回复 #3269 hotdll 的帖子

    很好的建议啊,希望2012abc19701大大考虑下。
    回复

    使用道具 举报

    3150#
     楼主| 发表于 2012-6-2 10:25:52 | 只看该作者

    回复 #3269 hotdll 的帖子

    >>然后在PECMD.INI调用DEVI命令去安装A盘的INF文件,则只要几秒钟。。

    实际你海要计算上如下时间:
    1》 解CAB时间。否则没有该INF,及其相关驱动。
    2》 找到该INF时间。这里你代劳了,计算机还得100个INF依次查询一遍,才知道那个合适。
    3》 读取改INF及其相关驱动时间。这里你先拷贝到A盘。(到硬盘也一样)。文件实际已经在内存中。
          安装时直接从内存中拷贝。
    回复

    使用道具 举报

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

    本版积分规则

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

    闽公网安备 35020302032614号

    GMT+8, 2024-9-29 08:14

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

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