日期:2014-05-17  浏览次数:20899 次

简单问题 批处理获取一些硬件信息 dos高手帮忙
我看了下dos的东西,一般的命令可以获取,但是写在一起对我来说有点困难,特别是计算的地方,望高手帮忙搞定一下,谢谢!!!!

以下是获取内容:

IP地址、 CPU核数 、 CPU总频率 、 CPU利用率 、 物理内存 、 已用内存、 磁盘总空间、 已用空间

补充:
 网络输入速度 网络输出速度 发送包数 接收包数等 这些貌似用批处理写有点困难,我考虑用snmp试试。。 

谁会写linux下的sh文件获取这些,也顺便帮忙写一下,呵呵,谢咯!!!

------解决方案--------------------
Assembly code

@echo off 
color 0a      
mode con cols=90 
sc config  winmgmt start= auto >nul 2<&1 
::net start winmgmt 2>1nul 
setlocal  ENABLEDELAYEDEXPANSION 
echo IP地址: 
for /f "tokens=1,* delims==" %%a in ('ipconfig^|find "IP Address"') do (    set /a tee+=1
     echo %%a %%b
) 
set tee=0 
echo. 
echo CPU: 
for /f "tokens=1,* delims==" %%a in ('wmic cpu get name^,ExtClock^,CpuStatus^,Description /value') do (  
     set /a tee+=1 
     if "!tee!" == "3" echo         CPU个数   = %%b 
     if "!tee!" == "4" echo         处理器版本   = %%b 
     if "!tee!" == "5" echo         外   频   = %%b 
     if "!tee!" == "6" echo         CPU主频率   = %%b 
) 
for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value^|findstr "PercentProcessorTime"') do (
  set UseCPU=%%a
)
  echo         CPU使用率:%UseCPU%%%
set tee=0 
echo. 
echo 硬  盘: 
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get model^,interfacetype^,size^,totalsectors^,partitions /value') do ( 
     set /a tee+=1 
     if "!tee!" == "6" echo         总   空  间  = %%b 
     if "!tee!" == "7" echo         已 用 空 间  = %%b 
) 
echo. 
echo 内    存:  
for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "物理内存"') do ( 
    echo         %%a  %%b  
) 
echo. 
echo 处 理 器:  
for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "处理器"') do ( 
    echo         %%a  %%b  
) 
echo. 
pause

------解决方案--------------------
探讨
CPU核数 、 CPU总频率这两个怎么得到啊?

------解决方案--------------------
也可以用systeminfo命令来获取