如何使用Java或CMD获取PC硬件信息

我正在创build一个Java桌面应用程序来报告Windows机器(XP,Vista和W7)的性能和统计信息。

使用Java或命令行我如何获得以下信息:

  • 制造商(戴尔,惠普…)
  • 模态编号
  • 处理器types
  • 处理器大小
  • 系统types
  • 储存空间
  • RAM总计
  • RAM免费或使用

如果我find更多的信息,我想列出这个参考页面是很好的。

Solutions Collecting From Web of "如何使用Java或CMD获取PC硬件信息"

其中大部分应该可以通过WMI进行查询(无论如何,这是systeminfo很可能使用的东西 – 它只是倾向于收集所有的信息而不是特定的信息)。

我一起砍了下面的小批量文件。 不太清楚你的处理器尺寸是什么意思 – 没有软件会进入计算机机箱,并测量芯片的尺寸,但也许会接近。 您可以在批处理文件的末尾执行一set查看所有创建的环境变量。 也许有些人可以帮忙:

 @echo off setlocal enableextensions enabledelayedexpansion for /f "delims=" %%l in ('wmic computersystem get Manufacturer^,Model^,SystemType^,TotalPhysicalMemory /format:list') do >nul 2>&1 set "System_%%l" for /f "delims=" %%l in ('wmic cpu get * /format:list') do >nul 2>&1 set "CPU_%%l" for /f "delims=" %%l in ('wmic os get FreePhysicalMemory^,TotalVisibleMemorySize /format:list') do >nul 2>&1 set "OS_%%l" set /a OS_UsedPhysicalMemory=OS_TotalVisibleMemorySize-OS_FreePhysicalMemory for /f "delims=" %%l in ('wmic volume get DriveLetter^,FreeSpace /format:list') do ( >nul 2>&1 set "TEMP_%%l" if "!TEMP_DriveLetter:~1,1!"==":" if defined TEMP_FreeSpace set StorageSpace_!TEMP_DriveLetter:~0,2!=!TEMP_FreeSpace:~0,-1!&set TEMP_DriveLetter=&set TEMP_FreeSpace= ) echo Manufacturer: %System_Manufacturer% echo Model: %System_Model% echo Processor Type: %PROCESSOR_ARCHITECTURE% echo Processor Size: %CPU_AddressWidth% echo System Type: %System_SystemType% echo Storage Space: set StorageSpace_ echo RAM total: %OS_TotalVisibleMemorySize% KiB echo RAM free: %OS_FreePhysicalMemory% KiB echo RAM used: %OS_UsedPhysicalMemory% KiB 

附注:这是免费的locale-specifics,所以它应该在任何地方工作(而不是像dir | find "free"东西)。 代码可以在我的SVN仓库找到。

生产厂家

 systeminfo | find "System Manufacturer" 

型号

 systeminfo | find "System Model" 

处理器类型

 echo %PROCESSOR_IDENTIFIER% %PROCESSOR_LEVEL% 

处理器大小

 systeminfo | find "Processor" 

系统类型

 systeminfo | find "System type" 

储存空间

 dir | find "free" 

要么

 fsutil volume diskfree C: 

RAM总计

 systeminfo | find "Total Physical Memory" 

RAM免费或使用

 systeminfo | find "Available Physical Memory" 

sysinternals的psinfo会做你想要的吗? 您可以从您的服务器运行它来查询每台PC。 http://technet.microsoft.com/en-us/sysinternals/bb897550