Windows獲取CPU、內存和磁盤使用率腳本


轉載自:https://blog.51cto.com/luweikai/1904427

參考:http://www.51testing.com/html/85/87885-17546.html

   https://www.cnblogs.com/wtao/archive/2011/09/16/2178760.html

 

獲取CPU使用率腳本(vbs),另存為cpu.vbs:

1 On Error Resume Next
2 Set objProc  = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")
3 Wscript.Echo "CPU 使用率: " & objProc.LoadPercentage & "%"

獲取內存使用率腳本(vbs),另存為ram.vbs:

1 strComputer = "."
2 set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
3 set colOS = objWMI.InstancesOf("Win32_OperatingSystem")
4 for each objOS in colOS
5 strReturn = "內存總數: " &  round(objOS.TotalVisibleMemorySize / 1024) & " MB" & vbCrLf &"內存可用數: " & round(objOS.FreePhysicalMemory / 1024) & " MB" & vbCrLf &"內存使用率 :" & Round(((objOS.TotalVisibleMemorySize-objOS.FreePhysicalMemory)/objOS.TotalVisibleMemorySize)*100) & "%"
6 Wscript.Echo strReturn
7 next

獲取磁盤使用率腳本(vbs),另存為hard.vbs:

 1 Set fsoobj = CreateObject("Scripting.FileSystemObject")
 2  DriversInfo = GetDriversInfo
 3  DriversInfo = Replace(DriversInfo, "|", vbCrLf)
 4  sReturn ="硬盤信息:" & vbCrLf & DriversInfo
 5  Wscript.Echo sReturn
 6 Function GetDriversInfo()
 7 
 8    GetDriversInfo = ""
 9    Set drvObj = fsoobj.Drives
10    For Each D In drvObj
11        Err.Clear
12        If D.DriveLetter <> "A" Then
13            If D.isReady Then
14                GetDriversInfo = GetDriversInfo & "分區:" & D.DriveLetter & vbCrLf
15                GetDriversInfo = GetDriversInfo & "可用空間:" & cSize(D.FreeSpace) & vbCrLf
16                GetDriversInfo = GetDriversInfo & "總大小:" & cSize( D.TotalSize) & vbCrLf
17                GetDriversInfo = GetDriversInfo & "使用率 :" & (100*((D.TotalSize-D.FreeSpace)/D.TotalSize)) &"%" & vbCrLf
18                GetDriversInfo = GetDriversInfo & "|"
19              Else
20            End If
21          Else
22        End If
23    Next
24 End Function
25 
26  Function cSize(tSize)
27 
28      If tSize >= 1073741824 Then
29          cSize = Int((tSize / 1073741824) * 1000) / 1000 & " GB"
30        ElseIf tSize >= 1048576 Then
31          cSize = Int((tSize / 1048576) * 1000) / 1000 & " MB"
32        ElseIf tSize >= 1024 Then
33          cSize = Int((tSize / 1024) * 1000) / 1000 & " KB"
34        Else
35          cSize = tSize & "B"
36      End If
37 
38 End Function

最后批處理執行以上腳本,另存為“獲取CPU、內存和磁盤使用率.bat”

1 @echo off
2 echo "正在獲取CPU、內存和磁盤使用率,請稍候..."
3 echo CPU信息:>info.txt
4 cscript //Nologo cpu.vbs >> info.txt
5 echo.>>info.txt
6 echo 內存信息:>>info.txt
7 cscript //Nologo ram.vbs >> info.txt
8 echo.>>info.txt
9 cscript //Nologo hard.vbs >> info.txt

執行結果如下:

 1 CPU信息:
 2 CPU 使用率: 22%
 3 
 4 內存信息:
 5 內存總數: 12132 MB
 6 內存可用數: 7354 MB
 7 內存使用率 :39%
 8 
 9 硬盤信息:
10 分區:C
11 可用空間:64.541 GB
12 總大小:102.443 GB
13 使用率 :36.9974772881646%
14 
15 分區:D
16 可用空間:134.282 GB
17 總大小:402.132 GB
18 使用率 :66.6073734064705%
19 
20 分區:E
21 可用空間:47.56 GB
22 總大小:300.003 GB
23 使用率 :84.1468686136043%
24 
25 分區:F
26 可用空間:48.774 GB
27 總大小:220.006 GB
28 使用率 :77.8305072014826%

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM