无忧启动论坛

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

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

    [复制链接]
15931#
发表于 2021-5-29 10:11:51 | 只看该作者
mdyblog 发表于 2021-5-29 09:13
你把  H3CDALL.ISO\H3PE\ADD_DRV\NT6\Display\AMD64\AMD64\DRV_VGA.WIM
的 json 和 PECMD-cache一起发过来 ...

AMD64.7z (1.45 MB, 下载次数: 0)
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2 这个是这个工具的介绍,是一个开源项目

点评

看了下, 具体到这里, json没有任何优势, 其优势 这里用不上。 反倒限制多。 至于大小, 不是格式的原因。 而是提取的 不纯。 好多 垃圾。 可手动清理(普通多行文本文件)。  详情 回复 发表于 2021-5-29 12:25
回复

使用道具 举报

15932#
发表于 2021-5-29 10:20:13 | 只看该作者
继续打卡,快成功了。
回复

使用道具 举报

15933#
 楼主| 发表于 2021-5-29 12:25:41 | 只看该作者
本帖最后由 mdyblog 于 2021-5-29 12:32 编辑

看了下,  具体到这里, json没有任何优势, 其优势 这里用不上。 反倒限制多。
至于大小, 不是格式的原因。
而是提取的 不纯(不敢过滤太多)。 好多 垃圾。 可手动清理(普通多行文本文件)。
7z压缩后 都很小, 可忽略不记:

DRV_VGA.cache.7z  23K
DRV_VGA.json.7z  20K

点评

哦清楚了。 1、如果把这个放内部,直接7z压缩,增加的体积可以怱略不计 2、放外部也可7z压缩一下,用的时候先用代码把它解压出来用?  详情 回复 发表于 2021-5-29 15:16
回复

使用道具 举报

15934#
发表于 2021-5-29 15:16:14 | 只看该作者
mdyblog 发表于 2021-5-29 12:25
看了下,  具体到这里, json没有任何优势, 其优势 这里用不上。 反倒限制多。
至于大小, 不是格式的 ...

哦清楚了。
1、如果把这个放内部,直接7z压缩,增加的体积可以怱略不计
2、放外部也可7z压缩一下,用的时候先用代码把它解压出来用?
回复

使用道具 举报

15935#
发表于 2021-5-29 16:02:45 | 只看该作者
本帖最后由 hhh333 于 2021-5-29 16:04 编辑

刚才又测试一下速度,64位PE,安装显卡直到刷新桌面,索引外置计时是15秒多,索引内置是11秒多,索引文件大致是1.3M多。外置的少一次解压过程为什么还要多4秒时间?把我自己也吓一跳。其实,还是好理解,应该是因为内置的索引文件解压到%TEMP%,而这个是X:盘,即是内存中,在内存中查找ID比硬盘(我的机械硬盘)快得多。因此可以有如下结论:
1、解压索引文件几乎不花什么时间,因为索引文件压缩后很小;
2、索引文件在内存盘中比在硬盘中进行文本查找时快得多
3、如果能够精减一下索引文件,采用更加紧凑或者更加科学数据结构,应该更有利于查找定位。

不知以上分析是不是对

点评

应该很到位。  详情 回复 发表于 2021-5-29 17:19
回复

使用道具 举报

15936#
 楼主| 发表于 2021-5-29 17:19:04 | 只看该作者
hhh333 发表于 2021-5-29 16:02
刚才又测试一下速度,64位PE,安装显卡直到刷新桌面,索引外置计时是15秒多,索引内置是11秒多,索引文件大 ...

应该很到位。如果外置 也 也单独压缩下, 运行时解压到TEMP。

点评

527104427 老大, find --pid @ 和 find --wid @ 这两个命令能否在返回结果的每行结尾多插一个制表符? 详情 回复 发表于 昨天 22:38 --------------------- 什么用意?  详情 回复 发表于 2021-5-30 00:03
老大, find --pid @ 和 find --wid @ 这两个命令能否在返回结果的每行结尾多插一个制表符?  详情 回复 发表于 2021-5-29 22:38
回复

使用道具 举报

15937#
发表于 2021-5-29 22:50:22 | 只看该作者
本帖最后由 红毛樱木 于 2021-5-29 22:51 编辑
527104427 发表于 2021-5-29 22:38
老大,
find --pid @

多一个 会不会和之前的代码造成MSTR用<-1>截图之类的代码冲突,这尴尬了

点评

没任何影响啊,怎么会有影响呢  详情 回复 发表于 2021-5-29 23:23
回复

使用道具 举报

15938#
发表于 2021-5-29 22:52:04 | 只看该作者
ENVI-make
能不能加一个UTF-8编码的直接支持,省的用CODE再转码一次了,为了省代吗

点评

???? 具体点。 来个栗子。  详情 回复 发表于 2021-5-29 23:53
回复

使用道具 举报

15939#
 楼主| 发表于 2021-5-29 23:53:43 | 只看该作者
红毛樱木 发表于 2021-5-29 22:52
ENVI-make
能不能加一个UTF-8编码的直接支持,省的用CODE再转码一次了,为了省代吗

????
具体点。 来个栗子。

点评

比如这里的UTF8编码的&Info 用ENVI-make直接获取成UNICODE编码的字符串  详情 回复 发表于 2021-5-30 00:43
回复

使用道具 举报

15940#
 楼主| 发表于 2021-5-30 00:03:50 | 只看该作者
mdyblog 发表于 2021-5-29 17:19
应该很到位。如果外置 也 也单独压缩下, 运行时解压到TEMP。

527104427
老大, find --pid @ 和 find --wid @ 这两个命令能否在返回结果的每行结尾多插一个制表符?  详情 回复 发表于 昨天 22:38
---------------------
什么用意?

点评

本来是想直接用结果做成表格的。最后一列如果是空,而表格中原来这一列是有内容的,那就没办法清除原来的内容。 后来发现只要在每行最后加个制表符,就能正常。 数据多的时候,逐行替换有点慢。 不过正如红毛  详情 回复 发表于 2021-5-30 00:38
回复

使用道具 举报

15941#
发表于 2021-5-30 00:38:55 | 只看该作者
mdyblog 发表于 2021-5-30 00:03
527104427
老大, find --pid @ 和 find --wid @ 这两个命令能否在返回结果的每行结尾多插一个制表符? ...

本来是想直接用结果做成表格的。最后一列如果是空,而表格中原来这一列是有内容的,那就没办法清除原来的内容。

后来发现只要在每行最后加个制表符,就能正常。
数据多的时候,逐行替换有点慢。

不过正如红毛所说,改成这样会出现不兼容,所以就作罢,回复内容也删了。




点评

SED就可以加的任意串 SET$ &NL=0d 0a SET$ &TAB=09 FIND --pid*@ &&V, SED -ex &V=0,%&NL%,%&TAB%%&NL%,&V SET< &V=%&TAB% //最后一行单独加  详情 回复 发表于 2021-5-30 12:17
回复

使用道具 举报

15942#
发表于 2021-5-30 00:43:01 | 只看该作者
本帖最后由 红毛樱木 于 2021-5-30 03:19 编辑
mdyblog 发表于 2021-5-29 23:53
????
具体点。 来个栗子。

  1. CODE *,你好,**UTF8,&Info
  2. ENVI-make &Show=&Info
  3. MESS. %&Show%
复制代码

比如这里的UTF8编码的&Info
用ENVI-make直接获取字符串,不用转码

点评

这在逻辑上是矛盾的。 ENVI-make 就不改变内存的情况下, 伪造一个变量。 (CODE )改变编码是要 修改内存的。 你直接CODE 不举完了吗?  详情 回复 发表于 2021-5-30 12:06
回复

使用道具 举报

15943#
 楼主| 发表于 2021-5-30 12:06:07 | 只看该作者
红毛樱木 发表于 2021-5-30 00:43
比如这里的UTF8编码的&Info
用ENVI-make直接获取字符串,不用转码

这在逻辑上是矛盾的。
ENVI-make 就不改变内存的情况下, 伪造一个变量。
(CODE )改变编码是要 修改内存的。


你直接CODE 不就完了吗?

点评

我拿这个打个比方来着。 假如是一个指针,指针指向的是utf8编码。然后用指针envi-make就需要再code转码了  详情 回复 发表于 2021-5-30 12:23
回复

使用道具 举报

15944#
 楼主| 发表于 2021-5-30 12:17:06 | 只看该作者
本帖最后由 mdyblog 于 2021-5-30 12:30 编辑
527104427 发表于 2021-5-30 00:38
本来是想直接用结果做成表格的。最后一列如果是空,而表格中原来这一列是有内容的,那就没办法清除原来的 ...

SED就可以加的任意串

SET$  &TAB=09
FIND  --pid*@  &&V,
SED -ex -L &V=,{.}$,\1%&TAB%,&V

---------------------或----------------------
SET$  &NL=0d 0a
SET$  &TAB=09

FIND  --pid*@  &&V,
SED -ex  &V=0,%&NL%,%&TAB%%&NL%,&V
SET< &V=%&TAB%   //最后一行单独加

点评

这个好!速度很快  详情 回复 发表于 2021-5-30 20:12
回复

使用道具 举报

15945#
发表于 2021-5-30 12:23:58 来自手机 | 只看该作者
mdyblog 发表于 2021-5-30 12:06
这在逻辑上是矛盾的。
ENVI-make 就不改变内存的情况下, 伪造一个变量。
(CODE )改变编码是要 修改 ...

我拿这个打个比方来着。
假如是一个指针,指针指向的是utf8编码。然后用指针envi-make就需要再code转码了

点评

修改内存, 不能用ENVI-MAKE  详情 回复 发表于 2021-5-30 12:27
回复

使用道具 举报

15946#
 楼主| 发表于 2021-5-30 12:27:25 | 只看该作者
本帖最后由 mdyblog 于 2021-5-30 12:32 编辑
红毛樱木 发表于 2021-5-30 12:23
我拿这个打个比方来着。
假如是一个指针,指针指向的是utf8编码。然后用指针envi-make就需要再code转码 ...

修改内存, 不能用ENVI-MAKE


先 ENVI-MAKE  伪造变量,但不修改内存
再CODE转码, 创建新变量。

点评

了解了,只能两步走了。  详情 回复 发表于 2021-5-30 13:44
回复

使用道具 举报

15947#
发表于 2021-5-30 13:44:46 | 只看该作者
mdyblog 发表于 2021-5-30 12:27
修改内存, 不能用ENVI-MAKE

了解了,只能两步走了。
回复

使用道具 举报

15948#
发表于 2021-5-30 20:12:49 | 只看该作者
mdyblog 发表于 2021-5-30 12:17
SED就可以加的任意串

SET$  &TAB=09

这个好!速度很快
回复

使用道具 举报

15949#
发表于 2021-5-31 09:48:11 | 只看该作者
本帖最后由 hhh333 于 2021-5-31 11:27 编辑

M大,我把打印机驱动做了索引,打包在7z包中,安装时卡死,不知为何?
而不做索引完全解开的形式安装没问题

看了下TEMP中的文件,目录结构是有,但里面的是空的

点评

这个没有打印机能在VM中测试吗?  详情 回复 发表于 2021-5-31 17:19
回复

使用道具 举报

15950#
发表于 2021-5-31 11:41:26 | 只看该作者
驱动的包中的目录结构是这样的:
  1. 卷 软件 的文件夹 PATH 列表
  2. 卷序列号为 00000002 000D:729D
  3. G:\MYPE\OP\DR8164\PRINT\DRV_PRT
  4. └─System32
  5.     ├─CatRoot
  6.     └─DriverStore
  7.         └─FileRepository
  8.             ├─prnbrcl1.inf_amd64_f677f4a7b44412eb
  9.             │  └─amd64
  10.             ├─prncacl1.inf_amd64_fe6ab4bfc0d78cd5
  11.             ├─prncacl2.inf_amd64_f23666aacaa6943f
  12.             ├─prncacla.inf_amd64_95d0460bc8b6fae8
  13.             │  └─Amd64
  14.             ├─prndlcl1.inf_amd64_f5611618bf8581ba
  15.             │  └─amd64
  16.             ├─prndlclf.inf_amd64_49dba4044063deba
  17.             │  └─amd64
  18.             ├─prndlclv.inf_amd64_04024cddabbea781
  19.             ├─prndlclw.inf_amd64_048281d420e6406e
  20.             ├─prnekcl2.inf_amd64_59438dc7ce792b20
  21.             │  └─amd64
  22.             ├─prnepcl2.inf_amd64_2f70ba339b076baa
  23.             │  └─amd64
  24.             ├─prnfxcl2.inf_amd64_4c6c390b43835886
  25.             │  └─amd64
  26.             ├─prnge001.inf_amd64_a60bcbad55e612b2
  27.             │  └─Amd64
  28.             ├─prngeclv.inf_amd64_b8127698165a43f0
  29.             ├─prnhpcl1.inf_amd64_fb2430bef4ae7a88
  30.             │  └─amd64
  31.             ├─prnhpcl2.inf_amd64_bcb1297420e7a04b
  32.             │  └─amd64
  33.             ├─prnhpcl3.inf_amd64_fe1e73aef988a558
  34.             │  └─amd64
  35.             ├─prnhpcl4.inf_amd64_f44d52715b963d0a
  36.             │  └─amd64
  37.             ├─prnhpcl5.inf_amd64_f7c7f908dc19bcc0
  38.             │  └─amd64
  39.             ├─prnhpnul.inf_amd64_9058fe07a6372dcc
  40.             ├─prnkmcl2.inf_amd64_6c5f4c6657e3fe71
  41.             ├─prnkmcl4.inf_amd64_ddfab75909d8e47e
  42.             ├─prnkycl1.inf_amd64_124516a8dca5f98e
  43.             │  └─amd64
  44.             ├─prnlxclv.inf_amd64_c29830f978cd4b85
  45.             ├─prnlxclw.inf_amd64_dec60fa4d4a51d1a
  46.             ├─prnms001.inf_amd64_4fa1863520b2418e
  47.             ├─prnms002.inf_amd64_77839a7cc2b8a037
  48.             │  └─Amd64
  49.             ├─prnms003.inf_amd64_02291d7288731918
  50.             │  └─Amd64
  51.             ├─prnms003.inf_x86_44d40e16732ce8ee
  52.             │  └─I386
  53.             ├─prnms004.inf_amd64_cb79262d2f57130d
  54.             │  └─Amd64
  55.             ├─prnms005.inf_amd64_2a40c5f594dc2ce8
  56.             │  └─Amd64
  57.             ├─prnnecl2.inf_amd64_b7eaae651c43bcd7
  58.             │  └─amd64
  59.             ├─prnokcl1.inf_amd64_ab364963b4db0be3
  60.             │  └─amd64
  61.             ├─prnokcl2.inf_amd64_aabca8d99bfdd765
  62.             ├─prnrccl1.inf_amd64_950cb7eedc8563b8
  63.             ├─prnsacl1.inf_amd64_a49cfcedb545c462
  64.             │  └─amd64
  65.             ├─prntscl2.inf_amd64_912a503f824d1a50
  66.             ├─prntscl3.inf_amd64_f52c5a0c16bfe615
  67.             ├─prnxxcl3.inf_amd64_ad754b8eaeb68509
  68.             │  └─amd64
  69.             └─prnxxcl4.inf_amd64_4febf3948f82dbdf
  70.                 └─amd64
复制代码


回复

使用道具 举报

15951#
 楼主| 发表于 2021-5-31 17:19:45 | 只看该作者
本帖最后由 mdyblog 于 2021-5-31 17:58 编辑
hhh333 发表于 2021-5-31 09:48
M大,我把打印机驱动做了索引,打包在7z包中,安装时卡死,不知为何?
而不做索引完全解开的形式安装没问 ...

这个没有打印机能在VM中测试吗?
有没有不同目录之间引用?

单这一个驱动  打包+索引 测试。
可能索引没做好。
收到编辑下。
将 原INF中的  DEVIID的那些行 都手动拷过去。


点评

这是我的打印机驱动包,麻烦看一下,里面有cache文件:18M,链接:https://pan.baidu.com/s/1zVjysobwbWSifXmiBrZIrA 提取码:djay  详情 回复 发表于 2021-5-31 18:59
回复

使用道具 举报

15952#
发表于 2021-5-31 18:59:44 | 只看该作者
mdyblog 发表于 2021-5-31 17:19
这个没有打印机能在VM中测试吗?
有没有不同目录之间引用?

这是我的打印机驱动包,麻烦看一下,里面有cache文件:18M,链接:https://pan.baidu.com/s/1zVjysobwbWSifXmiBrZIrA
提取码:djay

点评

这是驱动安装包吗? 怎么目录为 System32\DriverStore\FileRepository\  详情 回复 发表于 2021-5-31 21:20
我给你补充一下: ID: USBPRINT\Hewlett-PackardHP_LaB8D7 Hewlett-PackardHP_LaB8D7 INF: \System32\DriverStore\FileRepository\prnhpcl1.inf_amd64_fb2430bef4ae7a88\prnhpcl1.inf cache  详情 回复 发表于 2021-5-31 19:36
回复

使用道具 举报

15953#
发表于 2021-5-31 19:36:54 | 只看该作者
本帖最后由 527104427 于 2021-5-31 19:39 编辑
hhh333 发表于 2021-5-31 18:59
这是我的打印机驱动包,麻烦看一下,里面有cache文件:18M,链接:https://pan.baidu.com/s/1zVjysobwbWS ...

我给你补充一下:
ID:     USBPRINT\Hewlett-PackardHP_LaB8D7
          Hewlett-PackardHP_LaB8D7

INF:   \System32\DriverStore\FileRepository\prnhpcl1.inf_amd64_fb2430bef4ae7a88\prnhpcl1.inf

cache里面是有Hewlett-PackardHP_LaB8D7这个ID的,
但硬件ID应该有好几个,我猜测应该是默认只匹配了第一个,也就是只安装了一次,后面就不管了。
如果改成原来的方式,多安装几次,把所有ID都装一遍,应该就行了。

点评

应该是找到后,第一个安装失败再安装第二个,失败,再安装第三个。 只有通过日志才能分析出  详情 回复 发表于 2021-5-31 19:46
那简单,我明天把其他驱动都删了,看只有一个驱动安装如何。但我估计结果还是一样的,因为安装成功后硬件ID就是这一个。  详情 回复 发表于 2021-5-31 19:45
回复

使用道具 举报

15954#
发表于 2021-5-31 19:45:09 | 只看该作者
527104427 发表于 2021-5-31 19:36
我给你补充一下:
ID:     USBPRINT\Hewlett-PackardHP_LaB8D7
          Hewlett-PackardHP_LaB8D7

那简单,我明天把其他驱动都删了,看只有一个驱动安装如何。但我估计结果还是一样的,因为安装成功后硬件ID就是这一个。

点评

你得把INF里的 Hewlett-PackardHP_LaB8D7 改成 USBPRINT\Hewlett-PackardHP_LaB8D7 然后再生成cache, 这样才能得出结论。  详情 回复 发表于 2021-5-31 19:56
回复

使用道具 举报

15955#
发表于 2021-5-31 19:46:38 来自手机 | 只看该作者
527104427 发表于 2021-5-31 19:36
我给你补充一下:
ID:     USBPRINT\Hewlett-PackardHP_LaB8D7
          Hewlett-PackardHP_LaB8D7

应该是找到后,第一个安装失败再安装第二个,失败,再安装第三个。
只有通过日志才能分析出
回复

使用道具 举报

15956#
发表于 2021-5-31 19:56:57 | 只看该作者
hhh333 发表于 2021-5-31 19:45
那简单,我明天把其他驱动都删了,看只有一个驱动安装如何。但我估计结果还是一样的,因为安装成功后硬件 ...

你得把INF里的
Hewlett-PackardHP_LaB8D7
改成
USBPRINT\Hewlett-PackardHP_LaB8D7
然后再生成cache,
这样才能得出结论。

点评

为什么要这么改,不太明白,我把其他驱动删了,看有cache和没有cache结果是不是一样就行了。  详情 回复 发表于 2021-5-31 20:09
回复

使用道具 举报

15957#
发表于 2021-5-31 20:09:47 | 只看该作者
527104427 发表于 2021-5-31 19:56
你得把INF里的
Hewlett-PackardHP_LaB8D7
改成

为什么要这么改,不太明白,我把其他驱动删了,看有cache和没有cache结果是不是一样就行了。

点评

我的结论是,PECMD现在只匹配硬件ID的第一行。我以为你是想验证这个结论。  详情 回复 发表于 2021-5-31 20:19
回复

使用道具 举报

15958#
发表于 2021-5-31 20:19:58 | 只看该作者
hhh333 发表于 2021-5-31 20:09
为什么要这么改,不太明白,我把其他驱动删了,看有cache和没有cache结果是不是一样就行了。

我的结论是,PECMD现在只匹配硬件ID的第一行。我以为你是想验证这个结论。

点评

应该不是一样,没日志都是瞎猜了,哈哈哈  详情 回复 发表于 2021-5-31 21:14
回复

使用道具 举报

15959#
发表于 2021-5-31 21:14:04 来自手机 | 只看该作者
527104427 发表于 2021-5-31 20:19
我的结论是,PECMD现在只匹配硬件ID的第一行。我以为你是想验证这个结论。

应该不是一样,没日志都是瞎猜了,哈哈哈

点评

我直觉很准的。  详情 回复 发表于 2021-5-31 21:32
回复

使用道具 举报

15960#
 楼主| 发表于 2021-5-31 21:20:35 | 只看该作者
hhh333 发表于 2021-5-31 18:59
这是我的打印机驱动包,麻烦看一下,里面有cache文件:18M,链接:https://pan.baidu.com/s/1zVjysobwbWS ...

这是驱动安装包吗?   怎么目录为 System32\DriverStore\FileRepository\

点评

应该是系统自带的驱动包抠出来的  详情 回复 发表于 2021-5-31 21:49
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-27 13:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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