亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

VBS 硬盤讀寫統計(分區讀寫統計)

2020-06-26 18:31:45
字體:
來源:轉載
供稿:網友
用vbs實現的硬盤讀寫統計(分區讀寫統計)的實現代碼,想學習vbs的朋友可以參考下
 

WinXP,Win7,Win8

復制代碼代碼如下:

'原創內容轉載、引用代碼核心部分請注明出處
硬盤讀寫統計.vbs 
If (Lcase(Right(Wscript.FullName,11)) = "wscript.exe") Then
   CreateObject("WScript.Shell").Run("%Comspec% /C " &Chr(34)&"mode con cols=52 lines=22" &"&Title  硬盤讀寫統計.vbs  By: FastSLZ  PCEVA Or BatHome   &&Cscript.exe //NoLogo  "&Chr(34)& Wscript.ScriptFullName &Chr(34)&Chr(34)),3:Set WMI = Nothing:Wscript.Quit
End If
Dim WMI,vName,IDE,cPPP,sNow
Input = 1:InputS = Input*980
On Error Resume Next
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!//./root/cimv2")
Set IDE = WMI.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='IDE'")
Set cPPP = WMI.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE Name <> '_Total'")
For Each oIDE In IDE 
    For i = 0 To IDE.Count   
        Select Case oIDE.Index
            Case i
               For Each oPPP In cPPP
                   If InStr(oPPP.Name, i) Then vName = oPPP.Name
               Next
               Select Case i
                   Case 0 Disk0=oIDE.Caption&" "&oIDE.FirmwareRevision:Size0=oIDE.Size:DskP0=vName
                   Case 1 Disk1=oIDE.Caption&" "&oIDE.FirmwareRevision:Size1=oIDE.Size:DskP1=vName
                   Case 2 Disk2=oIDE.Caption&" "&oIDE.FirmwareRevision:Size2=oIDE.Size:DskP2=vName
                   Case 3 Disk3=oIDE.Caption&" "&oIDE.FirmwareRevision:Size3=oIDE.Size:DskP3=vName
                   Case 4 Disk4=oIDE.Caption&" "&oIDE.FirmwareRevision:Size4=oIDE.Size:DskP4=vName
                   Case 5 Disk5=oIDE.Caption&" "&oIDE.FirmwareRevision:Size5=oIDE.Size:DskP5=vName
               End Select

 

        End Select
    Next
Next
Set cPPP = Nothing:Set IDE= Nothing
If Disk0 <> "" Then WScript.Echo Left(DskP0,1)&":"&vbTab& Disk0 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size0/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size0/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP0,Len(DskP0)-2)
If Disk1 <> "" Then WScript.Echo Left(DskP1,1)&":"&vbTab& Disk1 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size1/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size1/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP1,Len(DskP1)-2)
If Disk2 <> "" Then WScript.Echo Left(DskP2,1)&":"&vbTab& Disk2 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size2/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size2/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP2,Len(DskP2)-2)
If Disk3 <> "" Then WScript.Echo Left(DskP3,1)&":"&vbTab& Disk3 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size3/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size3/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP3,Len(DskP3)-2)
If Disk4 <> "" Then WScript.Echo Left(DskP4,1)&":"&vbTab& Disk4 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size4/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size4/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP4,Len(DskP4)-2)
If Disk5 <> "" Then WScript.Echo Left(DskP5,1)&":"&vbTab& Disk5 &vbTab _
                  &vbCrLf&vbTab&"廠商容量:"&Round(Size5/1000000000) &"GB" _
                  &vbCrLf&vbTab&"實際容量:"&Round(Size5/1073741824,2) &"GB" _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP5,Len(DskP5)-2)
WScript.Echo "↑請輸入要監控的硬盤編號,并按回車鍵"
stdInput = WScript.StdIn.Readline
stdInput=Left(UCase(stdInput),1)
If stdInput > "5" Or stdInput < "0" Then MsgBox "輸入錯誤" :WScript.Quit
If InStr(DskP0, stdInput) Then Call Network(Disk0,Size0,DskP0)
If InStr(DskP1, stdInput) Then Call Network(Disk1,Size1,DskP1)
If InStr(DskP2, stdInput) Then Call Network(Disk2,Size2,DskP2)
If InStr(DskP3, stdInput) Then Call Network(Disk3,Size3,DskP3)
If InStr(DskP4, stdInput) Then Call Network(Disk4,Size4,DskP4)
If InStr(DskP5, stdInput) Then Call Network(Disk5,Size5,DskP5)

Sub Network(Disks,Sizes,DskPs)
sNow=Now
Do
Dim A
'WScript.Echo "已運行"&Ts/3600&"小時"&(Ts mod 3600)/60&"分鐘"&(Ts mod 3600) mod 60&"秒"
Set A = WMI.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_PhysicalDisk Where Name='"&DskPs&"'")
For Each B In A
    R1 = B.DiskReadBytesPersec
    W1 = B.DiskWriteBytesPersec
    If RA0 = "" Then RA0 = B.DiskReadBytesPersec Else RA1 = R1 End If
    If WA0 = "" Then WA0 = B.DiskWriteBytesPersec Else WA1 = W1 End If
Next
Set A = Nothing
WScript.Sleep(InputS)
Set A = WMI.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_PhysicalDisk Where Name='"&DskPs&"'")
For Each B In A
    R2 = B.DiskReadBytesPersec
    W2 = B.DiskWriteBytesPersec
Next
Set A = Nothing
WScript.Echo Disks &" " &Round(Sizes/1073741824) &"GB" &vbCrLf _
      &"實時讀?。?quot; & CheckSize((R2-R1)/Input) &"/s" &vbCrLf _
      &"實時寫人:" & CheckSize((W2-W1)/Input) &"/s"&vbCrLf _
      &"腳本累計讀?。?quot; & CheckSize(RA1-RA0) &vbCrLf _
      &"腳本累計寫入:" & CheckSize(WA1-WA0) &vbCrLf _
      &"開機累計讀?。?quot; & CheckSize(R1) &vbCrLf _
      &"開機累計寫入:" & CheckSize(W1) &vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf _
      &"已運行"&Ts/3600&"小時"&(Ts mod 3600)/60&"分鐘"&(Ts mod 3600) mod 60&"秒"
Ts=DateDiff("s", sNow, Now)'Ts=TS+1
Loop
End Sub

Function CheckSize(SZ)
On Error Resume Next
If SZ => 1073741824 Then
   SZ = FormatNumber(Round(SZ/1073741824,2))&" GB"
   ElseIf SZ => 1048576 Then
   SZ = FormatNumber(Round(SZ/1048576,2))&" MB"
   ElseIf SZ => 1024 Then
   SZ = FormatNumber(Round(SZ/1024,2))&" KB"
Else
   SZ = "0"&FormatNumber(Round(SZ/1024,2)) & " KB"
End If
CheckSize=Right("      " & SZ,10)
End Function


分區讀寫統計.vbs
復制代碼代碼如下:

'原創內容轉載、引用代碼核心部分請注明出處
If (Lcase(Right(Wscript.FullName,11)) = "wscript.exe") Then
   CreateObject("WScript.Shell").Run("%Comspec% /C " &Chr(34)&"mode con cols=52 lines=22" &"&Title  分區讀寫統計.vbs  By: FastSLZ  PCEVA Or BatHome   &&Cscript.exe //NoLogo  "&Chr(34)& Wscript.ScriptFullName &Chr(34)&Chr(34)),3:Set WMI = Nothing:Wscript.Quit
End If
Input = 1:InputS = Input*1000
Dim WMI,vName,IDE,cPPP,sNow
On Error Resume Next
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!//./root/cimv2")

 

Set IDE = WMI.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='IDE'")
Set cPPP = WMI.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE Name<>'_Total'")
For Each oIDE In IDE 
    For i = 0 To IDE.Count   
        Select Case oIDE.Index
            Case i
               For Each oPPP In cPPP
                   If InStr(oPPP.Name, i) Then vName = oPPP.Name
               Next
               Select Case i
                   Case 0 Disk0=oIDE.Caption&" "&oIDE.FirmwareRevision:Size0=oIDE.Size:DskP0=vName
                   Case 1 Disk1=oIDE.Caption&" "&oIDE.FirmwareRevision:Size1=oIDE.Size:DskP1=vName
                   Case 2 Disk2=oIDE.Caption&" "&oIDE.FirmwareRevision:Size2=oIDE.Size:DskP2=vName
                   Case 3 Disk3=oIDE.Caption&" "&oIDE.FirmwareRevision:Size3=oIDE.Size:DskP3=vName
                   Case 4 Disk4=oIDE.Caption&" "&oIDE.FirmwareRevision:Size4=oIDE.Size:DskP4=vName
                   Case 5 Disk5=oIDE.Caption&" "&oIDE.FirmwareRevision:Size5=oIDE.Size:DskP5=vName
               End Select

        End Select
    Next
Next
Set cPPP = Nothing:Set IDE= Nothing
If Disk0 <> "" Then DskP=Right(DskP0,Len(DskP0)-2):WScript.Echo Left(DskP0,1)&":"&vbTab& Disk0 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP0,Len(DskP0)-2)
If Disk1 <> "" Then DskP=DskP&" "&Right(DskP1,Len(DskP1)-2):WScript.Echo Left(DskP1,1)&":"&vbTab& Disk1 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP1,Len(DskP1)-2)
If Disk2 <> "" Then DskP=DskP&" "&Right(DskP2,Len(DskP2)-2):WScript.Echo Left(DskP2,1)&":"&vbTab& Disk2 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP2,Len(DskP2)-2)
If Disk3 <> "" Then DskP=DskP&" "&Right(DskP3,Len(DskP3)-2):WScript.Echo Left(DskP3,1)&":"&vbTab& Disk3 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP3,Len(DskP3)-2)
If Disk4 <> "" Then DskP=DskP&" "&Right(DskP4,Len(DskP4)-2):WScript.Echo Left(DskP4,1)&":"&vbTab& Disk4 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP4,Len(DskP4)-2)
If Disk5 <> "" Then DskP=DskP&" "&Right(DskP5,Len(DskP5)-2):WScript.Echo Left(DskP5,1)&":"&vbTab& Disk5 &vbTab _
                  &vbCrLf&vbTab&"分區狀態:"&Right(DskP5,Len(DskP5)-2)
WScript.Echo vbCrLf&"請輸入"&DskP&"中任意一個盤符"
stdInput = WScript.StdIn.Readline
stdInput=Left(UCase(stdInput),1)
If InStr(DskP,stdInput) Then Call Network(stdInput&":")
Sub Network(DskPs)
sNow=Now
Do
Dim A
Set A = WMI.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_LogicalDisk Where Name = '"& DskPs &"'")
For Each B In A
    R1 = B.DiskReadBytesPersec
    W1 = B.DiskWriteBytesPersec
    If RA0 = "" Then RA0 = B.DiskReadBytesPersec Else RA1 = R1 End If
    If WA0 = "" Then WA0 = B.DiskWriteBytesPersec Else WA1 = W1 End If
Next
Set A = Nothing
WScript.Sleep(InputS)
Set A = WMI.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_LogicalDisk Where Name = '"& DskPs &"'")
For Each B In A
    R2 = B.DiskReadBytesPersec
    W2 = B.DiskWriteBytesPersec
Next
Set A = Nothing
WScript.Echo "監控分區:" &DskPs &vbCrLf _
      &"實時讀?。?quot; & CheckSize((R2-R1)/Input) &"/s" &vbCrLf _
      &"實時寫人:" & CheckSize((W2-W1)/Input) &"/s"&vbCrLf _
      &"腳本累計讀取:" & CheckSize(RA1-RA0) &vbCrLf _
      &"腳本累計寫入:" & CheckSize(WA1-WA0) &vbCrLf _
      &"開機累計讀?。?quot; & CheckSize(R1) &vbCrLf _
      &"開機累計寫入:" & CheckSize(W1) &vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf&vbCrLf _
      &"已運行"&Ts/3600&"小時"&(Ts mod 3600)/60&"分鐘"&(Ts mod 3600) mod 60&"秒"
Ts=DateDiff("s", sNow, Now)'Ts=TS+1
Loop
End Sub

Function CheckSize(SZ)
On Error Resume Next
If SZ => 1073741824 Then
   SZ = FormatNumber(Round(SZ/1073741824,2))&" GB"
   ElseIf SZ => 1048576 Then
   SZ = FormatNumber(Round(SZ/1048576,2))&" MB"
   ElseIf SZ => 1024 Then
   SZ = FormatNumber(Round(SZ/1024,2))&" KB"
Else
   SZ = "0"&FormatNumber(Round(SZ/1024,2)) & " KB"
End If
CheckSize=Right("      " & SZ,10)
End Function


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久热精品视频在线免费观看| 国产精品96久久久久久| 亚洲精品日韩欧美| 日韩av网站电影| 欧美另类在线观看| 亚洲xxxx3d| 欧美大肥婆大肥bbbbb| 色先锋资源久久综合5566| 大胆欧美人体视频| 少妇高潮久久77777| 亚洲色图色老头| 中文字幕日韩电影| 日韩精品免费视频| 国产免费久久av| 91av免费观看91av精品在线| 国产视频精品免费播放| 国产一区二区三区四区福利| 菠萝蜜影院一区二区免费| 欧美理论电影在线播放| 91九色视频导航| 欧美国产日韩一区| 97视频国产在线| 欧美成人激情视频免费观看| 色偷偷9999www| 久久国产天堂福利天堂| 97在线免费观看| 国产亚洲一区二区在线| 亚洲综合精品一区二区| 欧美在线中文字幕| 欧美激情国内偷拍| 国产精品美女久久久久久免费| 亚洲久久久久久久久久久| 欧美性猛交xxxxx免费看| 亚洲精品中文字幕av| 久久福利网址导航| 国产精品久久在线观看| 亚州精品天堂中文字幕| 欧美亚洲另类在线| 久久久久久久久国产| www.日韩系列| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品小视频| 国产成人精品电影| 久久免费精品视频| 欧美日韩免费观看中文| 亚洲欧美综合区自拍另类| 欧美国产视频日韩| 日韩国产一区三区| 欧美日韩加勒比精品一区| 国产福利精品视频| 超薄丝袜一区二区| 亚洲欧美精品在线| 亚洲一区美女视频在线观看免费| 亚洲欧美日韩另类| 亚洲一区精品电影| 日韩在线视频免费观看高清中文| 国产97色在线| 综合久久五月天| 亚洲综合日韩中文字幕v在线| 日本老师69xxx| 国产97色在线| 国产在线98福利播放视频| 97国产在线视频| 国产精品亚洲欧美导航| 亚洲在线观看视频| 国语自产精品视频在免费| 2018国产精品视频| 综合激情国产一区| 成人精品在线视频| 亚洲视屏在线播放| 亚洲美女av电影| 欧美最顶级的aⅴ艳星| 亚洲天堂男人的天堂| 国产精品成av人在线视午夜片| 国产成人精品免费久久久久| 亚洲精品久久久久久久久久久久久| 国产日本欧美在线观看| 亚洲国产欧美一区二区三区久久| 欧美日韩国产精品一区| 91国语精品自产拍在线观看性色| 亚洲免费伊人电影在线观看av| 日韩中文字幕在线视频| 91精品国产综合久久男男| 清纯唯美亚洲综合| 国产精品高潮呻吟视频| 黄色成人av网| 91免费看片在线| 国产美女主播一区| 欧美孕妇孕交黑巨大网站| 日韩精品高清在线| 中文字幕一精品亚洲无线一区| 欧美激情一区二区三区成人| 欧美第一黄色网| 亚洲91精品在线| 97av在线视频免费播放| 性日韩欧美在线视频| 亚洲免费视频网站| 亚洲wwwav| 欧美与欧洲交xxxx免费观看| 成人www视频在线观看| 亚洲精品成人久久久| 色诱女教师一区二区三区| 欧美激情第6页| 亚洲伊人成综合成人网| 亚洲片在线资源| 欧美另类精品xxxx孕妇| 国产精品福利久久久| 国产成人精品视| 国产suv精品一区二区三区88区| 亚洲男人天堂网| 国产日韩一区在线| 高清欧美性猛交| 亚洲国产精品久久| 日本久久亚洲电影| 91av在线看| 亚洲激情 国产| 亚洲天堂日韩电影| 亚洲国内高清视频| 久久韩国免费视频| 精品女厕一区二区三区| 国产精品ⅴa在线观看h| 国产精品国产三级国产专播精品人| 9.1国产丝袜在线观看| 国产视频久久久久久久| 国内精久久久久久久久久人| 成人精品aaaa网站| wwwwwwww亚洲| 亚洲aⅴ男人的天堂在线观看| 成人网页在线免费观看| 亚洲精品91美女久久久久久久| 色老头一区二区三区在线观看| 国产91精品久久久久久久| 国产一区二区三区中文| 国产精品成人一区| 亚洲成人精品在线| 国产在线观看一区二区三区| 国产日韩欧美电影在线观看| 欧美日韩中文在线观看| 欧美国产激情18| 国产欧美精品一区二区| 日韩欧美在线国产| 亚洲aa在线观看| 欧美精品成人91久久久久久久| 亚洲美女视频网站| 91色p视频在线| 国产精国产精品| 欧美一级片在线播放| 国产精品国产自产拍高清av水多| 免费99精品国产自在在线| 国内精品中文字幕| 91成人精品网站| 1769国内精品视频在线播放| 亚洲精品色婷婷福利天堂| 国产精品久久久久久久电影| 日韩视频一区在线| 精品久久久久久中文字幕一区奶水| 久久精品福利视频| 亚洲女在线观看| 国产精品久久9| 久久久久久久久爱| 日韩视频永久免费观看| 国产精品成人av性教育| 国产在线日韩在线| 久久综合久久美利坚合众国|