无忧启动论坛

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

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

    [复制链接]
18571#
发表于 2022-8-31 19:46:03 | 只看该作者
527104427 发表于 2022-8-31 19:35
小朋友,要用刚上传的PECMD才行。

大朋友,翻译一下这个,pecmd判断硬盘是机械还是固态

https://blog.csdn.net/qq_36533978/article/details/111196377

点评

WMI PE下可能用不了  详情 回复 发表于 2022-8-31 22:46
这是要重写信息工具了吗  详情 回复 发表于 2022-8-31 19:57
回复

使用道具 举报

18572#
发表于 2022-8-31 19:57:29 | 只看该作者
826773297 发表于 2022-8-31 19:46
大朋友,翻译一下这个,pecmd判断硬盘是机械还是固态

https://blog.csdn.net/qq_36533978/article/det ...

这是要重写信息工具了吗

点评

目前没办法重写,很多信息要靠第三方,光pecmd是获取不了  详情 回复 发表于 2022-8-31 20:57
回复

使用道具 举报

18573#
发表于 2022-8-31 20:57:46 | 只看该作者
泮安宁 发表于 2022-8-31 19:57
这是要重写信息工具了吗

目前没办法重写,很多信息要靠第三方,光pecmd是获取不了
回复

使用道具 举报

18574#
发表于 2022-8-31 21:03:18 | 只看该作者

我所知道的查询分区的指令如下:
FIND C:\=?,变量名     //查询分区总空间 字节
IFEX C:\=?,变量名     //查询分区剩余空间 字节
FIND \\?\Harddisk0Partition2\=?,变量名     //查询分区总空间 字节
IFEX \\?\Harddisk0Partition2\=?,变量名     //查询分区剩余空间 字节
下面的指令该怎么写呢?
1. 查询分区的已用空间
2. 查询磁盘的总空间
3. 查询磁盘的已用空间
4. 查询磁盘的剩余空间

点评

查询磁盘的总空间 PART list disk 0,V MESS. %V% 其它, 有这些信息, 计算即可  详情 回复 发表于 2022-8-31 22:41
form,我记得前面有人回答你了  详情 回复 发表于 2022-8-31 22:40
回复

使用道具 举报

18575#
发表于 2022-8-31 22:40:01 来自手机 | 只看该作者
Anson4 发表于 2022-8-31 21:03
我所知道的查询分区的指令如下:
FIND C:\=?,变量名     //查询分区总空间 字节
IFEX C:\=?,变量名     ...

form,我记得前面有人回答你了

点评

看官方说明,FORM 只能是获取分区信息啊。 FORM 变量名= 卷名称: 系统存在的合法盘符、文件目录名。为*则返回盘符列表  详情 回复 发表于 2022-8-31 23:06
回复

使用道具 举报

18576#
 楼主| 发表于 2022-8-31 22:41:17 | 只看该作者
Anson4 发表于 2022-8-31 21:03
我所知道的查询分区的指令如下:
FIND C:\=?,变量名     //查询分区总空间 字节
IFEX C:\=?,变量名     ...

查询磁盘的总空间
PART  list  disk  0,V
MESS. %V%
其它, 有这些信息, 计算即可

点评

谢谢!  发表于 2022-8-31 22:48
回复

使用道具 举报

18577#
 楼主| 发表于 2022-8-31 22:42:58 | 只看该作者

哦,漏了统计一项物理核心数
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1
CALC #&len0=1M
^SET#$ &buf=*%len0% 0
SET#$  &count=*8 0
SET-long count=%len0%
SET &RelationProcessorCore=0  //核心Core
SET &RelationNumaNode=1  //NUMA
SET &RelationCache=2  //CACHE
SET &RelationProcessorPackage=3  //物理CPU
CALC &&SZ1=%ptrlen%*2+8*2 //SYSTEM_LOGICAL_PROCESSOR_INFORMATION   0x20:0x18

SET &len=0
CALL $--ret:&&r --qd  kernel32,GetLogicalProcessorInformation,*&buf,*&count
IFEX #%r%=1, SET?long count=&len   //实际长度
CALC len=%len%
IFEX $%%
SET &i=%ptrlen%
SET &Core=0 //逻辑核心数
SET &PhyCore=0  //物理核心数
SET &CPUPak=0  //物理处理器封装个数,即俗称的“物理CPU数”。
SET &NUMA=0  //非均匀访存模块
SET &CACHE=0
SET &Relationship=-1
LOOP #%i%<%len%,
{*
    ^ENVI?int &buf=&&Relationship:%i%
    IFEX #%Relationship%=%RelationProcessorCore%,
    {   ^ENVI?ptr &buf=&&ProcessorMask:(%i%-%ptrlen%)
        SET &k=0
        LOOP #[ %k%<%ptrlen% & %ProcessorMask%<>0 ],
        {* CALC #&&b0=%ProcessorMask% & 1
           CALC -base=16 #&ProcessorMask=shr(%ProcessorMask%,1)
           CALC #&k=%k% + 1
           IFEX #%b0%=1, CALC Core=%Core%+1
        }
        CALC PhyCore=%PhyCore%+1
    }

    IFEX #%Relationship%=%RelationNumaNode%, CALC NUMA=%NUMA%+1
    IFEX #%Relationship%=%RelationProcessorPackage%, CALC CPUPak=%CPUPak%+1
    CALC i=%i%+%SZ1%
}
MESS. 逻辑核心数(Core)=%Core% 物理核心数(PhyCore)=%PhyCore%  物理CPU数(CPUPak)=%CPUPak%  NUMA数(NUMA)=%NUMA%


////////////////////////////////////结果:
逻辑核心数(Core)=4 物理核心数(PhyCore)=2  物理CPU数(CPUPak)=1  NUMA数(NUMA)=1

点评

可以了  详情 回复 发表于 2022-9-1 08:53
回复

使用道具 举报

18578#
 楼主| 发表于 2022-8-31 22:46:46 | 只看该作者
826773297 发表于 2022-8-31 19:46
大朋友,翻译一下这个,pecmd判断硬盘是机械还是固态

https://blog.csdn.net/qq_36533978/article/det ...

WMI  
PE下可能用不了

点评

那算了,有没有办法可以识别硬盘是否ssd  详情 回复 发表于 2022-9-1 08:54
回复

使用道具 举报

18579#
发表于 2022-8-31 23:06:30 | 只看该作者
红毛樱木 发表于 2022-8-31 22:40
form,我记得前面有人回答你了

看官方说明,FORM 只能是获取分区信息啊。

FORM <-free|-userfree|-userall>  变量名=<卷名称|目录>
卷名称: 系统存在的合法盘符、文件目录名。为*则返回盘符列表

点评

[attachimg]506759[/attachimg] [attachimg]506760[/attachimg] 是这些信息吗  详情 回复 发表于 2022-8-31 23:58
回复

使用道具 举报

18580#
发表于 2022-8-31 23:58:38 | 只看该作者
Anson4 发表于 2022-8-31 23:06
看官方说明,FORM 只能是获取分区信息啊。

FORM   变量名=





是这些信息吗

点评

不是,这个是分区的信息,我要的是磁盘的,整块磁盘的已用空间。  详情 回复 发表于 2022-9-1 00:04
回复

使用道具 举报

18581#
发表于 2022-9-1 00:04:23 | 只看该作者

不是,这个是分区的信息,我要的是磁盘的,整块磁盘的已用空间。

点评

没有这玩意,一个个的分区去获取再统计计算  详情 回复 发表于 2022-9-1 00:18
回复

使用道具 举报

18582#
发表于 2022-9-1 00:18:15 来自手机 | 只看该作者
Anson4 发表于 2022-9-1 00:04
不是,这个是分区的信息,我要的是磁盘的,整块磁盘的已用空间。

没有这玩意,一个个的分区去获取再统计计算

点评

也只能这样了  发表于 2022-9-1 00:57
回复

使用道具 举报

18583#
发表于 2022-9-1 08:53:23 | 只看该作者
mdyblog 发表于 2022-8-31 22:42
哦,漏了统计一项物理核心数
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1

可以了
回复

使用道具 举报

18584#
发表于 2022-9-1 08:54:28 | 只看该作者
mdyblog 发表于 2022-8-31 22:46
WMI  
PE下可能用不了

那算了,有没有办法可以识别硬盘是否ssd
回复

使用道具 举报

18585#
发表于 2022-9-1 10:10:48 | 只看该作者
还有几个问题一并发出来吧

1,cpu三级缓存如何获取
2,不通过第三方获取内存型号和容量(smbios)代码示例红毛发了,但是看不懂,自己写不了


这几个难题解决我应该可以重写硬件信息了

点评

IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG ENVI^ ForceLocal=1 CALC #&len0=1M ^SET#$ &buf=*%len0% 0 SET#$ &count=*8 0 SET-long count=%len0% SET &RelationProcessorCore=0 //核心Core SET &Relatio  详情 回复 发表于 2022-9-1 10:36
回复

使用道具 举报

18586#
 楼主| 发表于 2022-9-1 10:36:29 | 只看该作者
826773297 发表于 2022-9-1 10:10
还有几个问题一并发出来吧

1,cpu三级缓存如何获取

IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1
CALC #&len0=1M
^SET#$ &buf=*%len0% 0
SET#$  &count=*8 0
SET-long count=%len0%
SET &RelationProcessorCore=0  //核心Core
SET &RelationNumaNode=1  //NUMA
SET &RelationCache=2  //CACHE
SET &RelationProcessorPackage=3  //物理CPU
CALC &&SZ1=%ptrlen%*2+8*2 //SYSTEM_LOGICAL_PROCESSOR_INFORMATION   0x20:0x18

SET &len=0
CALL $--ret:&&r --qd  kernel32,GetLogicalProcessorInformation,*&buf,*&count
IFEX #%r%=1, SET?long count=&len   //实际长度
CALC len=%len%
IFEX $%%
SET &i=%ptrlen%
SET &LgCore=0 //逻辑核心数
SET &PhyCore=0  //物理核心数
SET &CPUPak=0  //物理处理器封装个数,即俗称的“物理CPU数”。
SET &NUMA=0  //非均匀访存模块
SET &CACHE=0
SET &processorL1CacheCount=0
SET &processorL2CacheCount=0
SET &processorL3CacheCount=0
SET &Relationship=-1
LOOP #%i%<%len%,
{*
    ^ENVI?int &buf=&&Relationship:%i%
    IFEX #%Relationship%=%RelationProcessorCore%,
    {   ^ENVI?ptr &buf=&&ProcessorMask:(%i%-%ptrlen%)
        SET &k=0
        LOOP #[ %k%<%ptrlen% & %ProcessorMask%<>0 ],
        {* CALC #&&b0=%ProcessorMask% & 1
           CALC -base=16 #&ProcessorMask=shr(%ProcessorMask%,1)
           CALC #&k=%k% + 1
           IFEX #%b0%=1, CALC LgCore=%LgCore%+1
        }
        CALC PhyCore=%PhyCore%+1
    }
    IFEX #%Relationship%=%&RelationCache%,
    {
            // Cache data is in ptr->Cache, one CACHE_DESCRIPTOR structure for each cache.   
            ^ENVI?char &buf=&&Level:(%i%+%ptrlen%)
            IFEX #%&Level%=1, CALC #&processorL1CacheCount=%processorL1CacheCount%+1
            IFEX #%&Level%=2, CALC #&processorL2CacheCount=%processorL2CacheCount%+1
            IFEX #%&Level%=3, CALC #&processorL3CacheCount=%processorL3CacheCount%+1
    }

    IFEX #%Relationship%=%RelationNumaNode%, CALC NUMA=%NUMA%+1
    IFEX #%Relationship%=%RelationProcessorPackage%, CALC CPUPak=%CPUPak%+1
    CALC i=%i%+%SZ1%
}
MESS. 逻辑核心数(LgCore)=%LgCore% 物理核心数(PhyCore)=%PhyCore%  物理CPU数(CPUPak)=%CPUPak%  NUMA数(NUMA)=%NUMA% 3级缓存分别为:%processorL1CacheCount%:%processorL2CacheCount%:%processorL3CacheCount%


///////////////////////////////////////////////结果:
逻辑核心数(LgCore)=2 物理核心数(PhyCore)=1  物理CPU数(CPUPak)=1  NUMA数(NUMA)=1 3级缓存分别为:2:1:1

点评

[attachimg]506793[/attachimg] 一二三级缓存的结果不对  详情 回复 发表于 2022-9-1 19:10
好的,回去后试试  详情 回复 发表于 2022-9-1 11:02
回复

使用道具 举报

18587#
发表于 2022-9-1 11:02:25 | 只看该作者
mdyblog 发表于 2022-9-1 10:36
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1
CALC #&len0=1M

好的,回去后试试
回复

使用道具 举报

18588#
发表于 2022-9-1 12:07:01 | 只看该作者
527104427 发表于 2022-8-31 19:35
小朋友,要用刚上传的PECMD才行。

你之前研究过dpi,pecmd要怎么设置dpi更稳妥

点评

_sub 后接 -scale -scalef 不就一劳永逸了吗,交给PECMD自己去算,去折腾  详情 回复 发表于 2022-9-1 12:29
回复

使用道具 举报

18589#
发表于 2022-9-1 12:29:58 | 只看该作者
826773297 发表于 2022-9-1 12:07
你之前研究过dpi,pecmd要怎么设置dpi更稳妥

_sub 后接  -scale -scalef  不就一劳永逸了吗,交给PECMD自己去算,去折腾

点评

在吗,大朋友  发表于 2022-9-1 19:58
你的cgi找个时间更新一下,很久没更新了  详情 回复 发表于 2022-9-1 17:17
我是说给系统设置dpi  详情 回复 发表于 2022-9-1 12:51
回复

使用道具 举报

18590#
发表于 2022-9-1 12:51:12 | 只看该作者
527104427 发表于 2022-9-1 12:29
_sub 后接  -scale -scalef  不就一劳永逸了吗,交给PECMD自己去算,去折腾

我是说给系统设置dpi
回复

使用道具 举报

18591#
发表于 2022-9-1 12:53:07 | 只看该作者
上次说的那个命令不是很稳,设置150缩放,结果设置成了175%,有没有靠谱点的dpi设置代码

点评

那个 设置代码 发上来 看看 怎么改改。  详情 回复 发表于 2022-9-1 15:04
回复

使用道具 举报

18592#
 楼主| 发表于 2022-9-1 15:04:20 | 只看该作者
826773297 发表于 2022-9-1 12:53
上次说的那个命令不是很稳,设置150缩放,结果设置成了175%,有没有靠谱点的dpi设置代码

那个 设置代码 发上来 看看 怎么改改。
回复

使用道具 举报

18593#
发表于 2022-9-1 16:43:06 | 只看该作者
mdyblog 发表于 2022-9-1 15:04
那个 设置代码 发上来 看看 怎么改改。

set$# pvParam=*4 0
call $--bool --qd --ret:ret158 user32.dll,SystemParametersInfoW,#158,0,*pvParam,1
set?ints pvParam=vParam
call $--qd# --ret:ret159 user32.dll,SystemParametersInfoW,159,0,0,1
mess pvParam=%pvParam% vParam=%vParam% %ret158% %ret159%
回复

使用道具 举报

18594#
发表于 2022-9-1 16:48:45 | 只看该作者
mdyblog 发表于 2022-9-1 15:04
那个 设置代码 发上来 看看 怎么改改。

SystemParametersInfoW

调用这个函数
回复

使用道具 举报

18595#
发表于 2022-9-1 17:17:45 | 只看该作者
527104427 发表于 2022-9-1 12:29
_sub 后接  -scale -scalef  不就一劳永逸了吗,交给PECMD自己去算,去折腾

你的cgi找个时间更新一下,很久没更新了

点评

支持。  详情 回复 发表于 2022-9-1 19:29
回复

使用道具 举报

18596#
发表于 2022-9-1 19:10:51 | 只看该作者
mdyblog 发表于 2022-9-1 10:36
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1
CALC #&len0=1M



一二三级缓存的结果不对

点评

这个是个数。 字节数: IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG ENVI^ ForceLocal=1 CALC #&len0=1M ^SET#$ &buf=*%len0% 0 SET#$ &count=*8 0 SET-long count=%len0% SET &RelationProcessorCore=0 /  详情 回复 发表于 2022-9-1 20:02
回复

使用道具 举报

18597#
发表于 2022-9-1 19:29:35 | 只看该作者
826773297 发表于 2022-9-1 17:17
你的cgi找个时间更新一下,很久没更新了

支持。
回复

使用道具 举报

18598#
 楼主| 发表于 2022-9-1 20:02:03 | 只看该作者
826773297 发表于 2022-9-1 19:10
一二三级缓存的结果不对

这个是个数。 字节数:
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1
CALC #&len0=1M
^SET#$ &buf=*%len0% 0
SET#$  &count=*8 0
SET-long count=%len0%
SET &RelationProcessorCore=0  //核心Core
SET &RelationNumaNode=1  //NUMA
SET &RelationCache=2  //CACHE
SET &RelationProcessorPackage=3  //物理CPU
CALC &&SZ1=%ptrlen%*2+8*2 //SYSTEM_LOGICAL_PROCESSOR_INFORMATION   0x20:0x18
SET &len=0
CALL $--ret:&&r --qd  kernel32,GetLogicalProcessorInformation,*&buf,*&count
IFEX #%r%=1, SET?long count=&len   //实际长度
CALC len=%len%
IFEX $%%
SET &i=%ptrlen%
SET &LgCore=0 //逻辑核心数
SET &PhyCore=0  //物理核心数
SET &CPUPak=0  //物理处理器封装个数,即俗称的“物理CPU数”。
SET &NUMA=0  //非均匀访存模块
SET &CACHE=0
SET &processorL1CacheCount=0
SET &processorL1CacheBytes=0
SET &processorL2CacheCount=0
SET &processorL2CacheBytes=0
SET &processorL3CacheCount=0
SET &processorL3CacheBytes=0
SET &Relationship=-1
LOOP #%i%<%len%,
{*
    ^ENVI?int &buf=&&Relationship:%i%
    IFEX #%Relationship%=%RelationProcessorCore%,
    {   ^ENVI?ptr &buf=&&ProcessorMask:(%i%-%ptrlen%)
        SET &k=0
        LOOP #[ %k%<%ptrlen% & %ProcessorMask%<>0 ],
        {* CALC #&&b0=%ProcessorMask% & 1
           CALC -base=16 #&ProcessorMask=shr(%ProcessorMask%,1)
           CALC #&k=%k% + 1
           IFEX #%b0%=1, CALC LgCore=%LgCore%+1
        }
        CALC PhyCore=%PhyCore%+1
    }
    IFEX #%Relationship%=%&RelationCache%,
    {
            // Cache data is in ptr->Cache, one CACHE_DESCRIPTOR structure for each cache.   
            ^ENVI?char &buf=&&Level:(%i%+%ptrlen%)
            ^ENVI?long &buf=&&size:(%i%+%ptrlen%+4)
            IFEX #%&Level%=1, TEAM CALC #&processorL1CacheCount=%processorL1CacheCount%+1| CALC #&processorL1CacheBytes=%processorL1CacheBytes%+%&size%
            IFEX #%&Level%=2, TEAM CALC #&processorL2CacheCount=%processorL2CacheCount%+1| CALC #&processorL2CacheBytes=%processorL2CacheBytes%+%&size%
            IFEX #%&Level%=3, TEAM CALC #&processorL3CacheCount=%processorL3CacheCount%+1| CALC #&processorL3CacheBytes=%processorL3CacheBytes%+%&size%
    }
    IFEX #%Relationship%=%RelationNumaNode%, CALC NUMA=%NUMA%+1
    IFEX #%Relationship%=%RelationProcessorPackage%, CALC CPUPak=%CPUPak%+1
    CALC i=%i%+%SZ1%
}
MESS. 逻辑核心数(LgCore)=%LgCore% 物理核心数(PhyCore)=%PhyCore%  物理CPU数(CPUPak)=%CPUPak%  NUMA数(NUMA)=%NUMA% 3级缓存分别为:%processorL1CacheCount%个(%processorL1CacheBytes%字节):%processorL2CacheCount%个(%processorL2CacheBytes%字节):%processorL3CacheCount%个(%processorL3CacheBytes%字节)

///////////////////结果:
逻辑核心数(LgCore)=4 物理核心数(PhyCore)=2  物理CPU数(CPUPak)=1  NUMA数(NUMA)=1 3级缓存分别为:4个(131072字节):2个(524288字节):1个(3145728字节)
回复

使用道具 举报

18599#
发表于 2022-9-1 20:08:32 | 只看该作者
mdyblog 发表于 2022-9-1 20:02
这个是个数。 字节数:
IFEX %&CurFile%.LOG, LOGS * %&CurFile%.LOG
ENVI^ ForceLocal=1

可以了,感谢m大
回复

使用道具 举报

18600#
发表于 2022-9-1 21:59:36 | 只看该作者
mdyblog 发表于 2022-9-1 15:04
那个 设置代码 发上来 看看 怎么改改。

请教M大,不调用 Diskpart 的话,如何检测 磁盘的联机/脱机状态,以及设置磁盘的联机/脱机。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-25 05:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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