簡體   English   中英

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

[英]How to get PC Hardware information using Java or CMD

我正在創建一個Java桌面應用程序,用於報告Windows機器的性能和統計信息(XP,Vista和W7)。

使用Java或命令行如何獲取以下信息:

  • 制造商(戴爾,惠普...)
  • 模態數
  • 處理器類型
  • 處理器大小
  • 系統類型
  • 儲存空間
  • RAM總計
  • RAM免費或使用

如果我找到了我想列出的更多信息,那么這個參考頁面會很棒。

其中大部分內容應該可以通過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

旁注:這不受特定於語言環境的限制,因此它應該在任何地方都可以工作(例如,與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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM