今天研究了一下,如何使用命令行(CMD)来查询显卡的名称(型号),但是在度娘上找了好久都没有找到理想的方法。
根据度娘的结果,在CMD下大概有两种方法,一种是这样:dxdiag /t C:\1.txt 通过dxdiag这个工具来生成硬件信息,但是这种方法相当低效!
而别一种方法则是通过导出相关注册表来实现,这种方法可能存在不准确的情况。。
最后,我在一个论坛上看到有人讲PowerShell,于是便研究了一下,发现这个PowerShell真的是很强大。。
PowerShell读取显卡信息:
首先打开PowerShell,然后输入命令:Get-WmiObject -Class CIM_PCVideoController
或者输入:Get-WmiObject -Class Win32_VideoController
命令解释:Get-WmiObject用于读取WMI对象,-Class CIM_PCVideoController表示指定类名称为CIM_PCVideoController
整句命令的意思就是读取类名为CIM_PCVideoController的WMI对象。
在CMD下难以实现的东西,在PowerShell里一句命令即可搞定!当然,PowerShell的强大可不仅限于此!
运行上面那句命令,会显示出显卡相关的一大堆信息,但是往往我们只想要知道其中的几项信息,怎么办?很简单,只需要这样:
在上命那句命令的后面加上: | Select-Object -Property Name,AdapterRAM 这样,查询出来的信息,将只显示Name字段(显卡名称)和AdapterRAM字段(显存)的信息。
我们再来看看PowerShell其它的一些参数和用法:
Sort-Object -Property Name -Descending 对查询结果,根据Name字段的值进行降序排序,不加-Descending参数则使用升序排序
Out-GridView 使用图形化输出查询结果,需要.net组件的支持
Where-Object {$_.Name -eq "sky"} 对结果进行条件筛选,条件为 Name字段的值等于 sky
Out-File -Encoding "Default" C:\1.txt 将结果输出到C:\1.txt文件,-Encoding指定文字编码,如果不指定将默认使用Unicode
$ENV:TEMP 读取系统环境变量temp
Powershell 中的比较运算符
-eq :等于
-ne :不等于
-gt :大于
-ge :大于等于
-lt :小于
-le :小于等于
-contains :包含
-notcontains : 不包含
-like : 包含并支持通配符
-notlike :不包含并支持通配符
PowerShell还有N多的功能和用法,今天只是为了读取显卡信息做了一些研究。。
所以其它的也就不多讲了(其实只是老游没有去研究,谁叫老游懒啊,哈哈)。。
老游
2017.11.15
精彩评论