我正在创建一个Java桌面应用程序,用于报告性能& Windows机器的统计信息(XP,Vista和W7)。
使用Java或命令行如何获取以下信息:
如果我找到了我想列出的更多信息,那么这个参考页面会很棒。
答案 0 :(得分:9)
大部分内容应该可以通过WMI查询(无论如何systeminfo
非常可能使用它 - 它只是聚集所有而不是特定信息。)< / p>
我将以下小批量文件一起攻击。不太清楚你对处理器大小的意思 - 没有软件会进入计算机机箱并测量芯片尺寸,但可能接近。您可以在批处理文件的末尾执行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
附注:这不受特定于语言环境的限制,因此它应该在任何地方都可以使用(例如,与dir | find "free"
相反)。可以找到代码in my SVN repository。
答案 1 :(得分:5)
<强>制造商强>
systeminfo | find "System Manufacturer"
型号
systeminfo | find "System Model"
处理器类型
echo %PROCESSOR_IDENTIFIER% %PROCESSOR_LEVEL%
处理器大小
systeminfo | find "Processor"
系统类型
systeminfo | find "System type"
存储空间
dir | find "free"
OR
fsutil volume diskfree C:
RAM总计
systeminfo | find "Total Physical Memory"
RAM Free或Used
systeminfo | find "Available Physical Memory"
答案 2 :(得分:0)
来自sysinternals的psinfo会做你想要的吗?您可以从服务器运行它来查询每台PC。 http://technet.microsoft.com/en-us/sysinternals/bb897550