bat+vbs- '&cls&cscript -nologo -e:vbscript "%~fs0"&pause&exit
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set wmi = GetObject("winmgmts:\\.\root\cimv2")
-
- WSH.echo GetMemory()&GetHardDisk()
-
- '内存容量
- Function GetMemory()
- Dim i, s
- Set Memory = wmi.execquery("select * from win32_physicalmemory")
- For Each item In Memory
- i = i+1
- s = s &"内存"& i &"[容量:"& GetSize(item.Capacity) &"]"& vbCrLf
- Next
- GetMemory = s
- End Function
-
- '硬盘容量
- Function GetHardDisk()
- Dim i, s
- Set HardDisk = wmi.execquery("select * from win32_diskdrive")
- For Each item In HardDisk
- i = i+1
- s = s &"硬盘"& i &"[名称:"& item.Caption &",接口类型:"& item.InterfaceType &",容量:"&GetSize(item.Size) &"]"& vbCrLf
- Next
- GetHardDisk = s
- End Function
-
- '转换单位
- Function GetSize(size)
- If size >= 1125899906842624 Then
- GetSize = FormatNumber(size/1125899906842624, 2, true) & "PB"
- ElseIf size >= 1099511627776 Then
- GetSize = FormatNumber(size/1099511627776, 2, true) & "TB"
- ElseIf size >= 1073741824 Then
- GetSize = FormatNumber(size/1073741824, 2, true) & "GB"
- ElseIf size >= 1048576 Then
- GetSize = FormatNumber(size/1048576, 2, true) & "MB"
- ElseIf size >= 1024 Then
- GetSize = FormatNumber(size/1024, 2, true) & "KB"
- Else
- GetSize = size & "字节"
- End If
- End Function
复制代码
|