2

我正在尝试创建一个脚本,该脚本在运行时将输出该计算机规格的文本文件。

是否有提供命令行界面的程序以在 Windows 操作系统上生成包含简化计算机规范的文本文件?

只是基本的消费者信息。即:RAM、CPU、HDD 等。我不需要或想要关于计算机的每一个细节。

我知道 MSinfo32、DxDiag、Speccy 提供导出功能,但 Speccy 不通过 CLI 提供自动化,另外两个只是导出所有系统信息的全局。其中大部分是个人的,对于我需要的东西来说是不必要的。

我能想到的唯一两种解决方法是使用 Windows 等效的 grep/cat/awk 命令来仅筛选出必要的信息。看到每个系统显然会有不同的规格,这可能会被证明是相当乏味的。或者,使用一个程序(如果存在)来指定要收集哪些规范以及省略哪些规范。

4

2 回答 2

4

在 powershell 中:

$System = Get-CimInstance CIM_ComputerSystem
$BIOS = Get-CimInstance CIM_BIOSElement
$OS = Get-CimInstance CIM_OperatingSystem
$CPU = Get-CimInstance CIM_Processor
$HDD = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID = 'C:'"
$EXTXT = "$env:USERPROFILE\Desktop\welp.txt"
Clear-Host

"Manufacturer: " + $System.Manufacturer >> $EXTXT
"Model: " + $System.Model >> $EXTXT
"CPU: " + $CPU.Name >> $EXTXT
"RAM: " + "{0:N2}" -f ($System.TotalPhysicalMemory/1GB) + "GB" >> $EXTXT
"HDD Capacity: "  + "{0:N2}" -f ($HDD.Size/1GB) + "GB" >> $EXTXT
"Operating System: " + $OS.caption >> $EXTXT

对我的问题的答复使我获得了更好的搜索结果。大部分源代码来自这里: http: //community.spiceworks.com/scripts/show_download/1831
之后我能够将附加内容和内容拼凑起来。保存为 .ps1 格式就可以了。

或者,如果您更喜欢这里是用 Python 编写的相同的、相对的脚本。使用本机 Windows 和 PowerShell 命令。

import os
import wmi
import math

c = wmi.WMI()    
SYSINFO = c.Win32_ComputerSystem()[0]
OSINFO = c.Win32_OperatingSystem()[0]
CPUINFO = c.Win32_Processor()[0]
HDDINFO = c.Win32_LogicalDisk()[0]
RAMINFO = c.Win32_PhysicalMemory()[0]

MANUFACTURER = SYSINFO.Manufacturer
MODEL = SYSINFO.Model
RAMTOTAL = int(SYSINFO.TotalPhysicalMemory)
HDDTOTAL = int(HDDINFO.size)
RAMSIZE = round(RAMTOTAL)
HDDSIZE = round(HDDTOTAL)

os.system('cls')
print "Model: " + MANUFACTURER + " " + MODEL
print "\r"
print "HDD: " + str(HDDTOTAL) + "GB"
print "RAM: " + str(RAMTOTAL) + "GB"
print "CPU: " + CPUINFO.name
print "OS: " + OSINFO.caption
于 2015-03-19T20:02:33.730 回答
2

除了 PowerShell,WMIC 是一个内置的命令行工具,用于报告 WMI 数据,包括各种系统信息,并以各种格式输出。它没有固定的系统硬件报告,但您可以使用它来获得所需的设置。

例如,要列出计算机上的驱动器,我可以发出以下命令:

C:\>wmic diskdrive get  Manufacturer,Partitions,Size /value
Manufacturer=(Standard disk drives)
Partitions=2
Size=320070320640

...

或者,如果您想要大量有关特定项目的信息,您可以使用以下命令:

wmic cpu list /format:list

AddressWidth=64
Architecture=9
Availability=3
Caption=Intel64 Family 6 Model 26 Stepping 5
ConfigManagerErrorCode=
ConfigManagerUserConfig=
CpuStatus=1
CreationClassName=Win32_Processor
CurrentClockSpeed=2794
CurrentVoltage=
DataWidth=64
Description=Intel64 Family 6 Model 26 Stepping 5
DeviceID=CPU0

...

LoadPercentage=24
Manufacturer=GenuineIntel
MaxClockSpeed=2794
Name=Intel(R) Xeon(R) CPU           W3530  @ 2.80GHz

这个站点展示了一些WMIC 或 PowerShell的优秀示例

Microsoft 有完整的在线文档,但它并没有真正让您了解如何使用它。

于 2015-03-19T19:14:37.050 回答