2013年3月8日金曜日

[VBScript]HDD残量を調べる

hdd.vbs
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objSWbemObjectCollection = objWMIService.ExecQuery("Select * from Win32_LogicalDisk Where DriveType = 3")

For Each objSWbemObject in objSWbemObjectCollection
    'デバイスID C:などを取得する
    DeviceID = objSWbemObject.DeviceID

    'ハードディスクのフルサイズを取得する
    Size = objSWbemObject.Size
    SizeGB = Size / 1024 / 1024 / 1024
    SizeMB = Size / 1024 / 1024

    'ハードディスクの空き領域を取得する
    FreeSpace = objSWbemObject.FreeSpace
    FreeSpaceGB = FreeSpace / 1024 / 1024 / 1024
    FreeSpaceMB = FreeSpace / 1024 / 1024

    'ハードディスク使用量を計算する
    UseVolume = Size - FreeSpace
    UseVolumeGB = UseVolume / 1024 / 1024 / 1024
    UseVolumeMB = UseVolume / 1024 / 1024

    msg = "DeviceID=" & DeviceID & vbCrlf
    msg = msg & "Size=" & FormatNumber(Size, 0, -1, 0, -1)
    msg = msg & " (" & FormatNumber(SizeMB, 2, -1, 0, -1) & " MB"
    msg = msg & ", " & FormatNumber(SizeGB, 2, -1, 0, -1) & " GB)" & vbCrlf
    msg = msg & "FreeSpace=" & FormatNumber(FreeSpace, 0, -1, 0, -1)
    msg = msg & " (" & FormatNumber(FreeSpaceMB, 2, -1, 0, -1) & " MB"
    msg = msg & ", " & FormatNumber(FreeSpaceGB, 2, -1, 0, -1) & " GB)" & vbCrlf
    msg = msg & "UseVolume=" & FormatNumber(UseVolume, 0, -1, 0, -1)
    msg = msg & " (" & FormatNumber(UseVolumeMB, 2, -1, 0, -1) & " MB"
    msg = msg & ", " & FormatNumber(UseVolumeGB, 2, -1, 0, -1) & " GB)" & vbCrlf
    MsgBox msg
Next

0 件のコメント:

コメントを投稿