1、GetHDInfo.vbs
这个脚本,是Google后找到的,虽然是VBS,但比网上绝大多数的代码,靠谱的多得多
'--------------------------------------------------- 'Get the properties of all partitions on all drives, 'including USB drives. 'Core code from the Scripting Guy '7.1.2012 FNL '--------------------------------------------------- Set oWMIService = GetObject("winmgmts:\\.\root\cimv2") Set cDiskDrives = oWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive") For Each oDrive In cDiskDrives WScript.echo "Disk #" & oDrive.Index & "(" & oDrive.InterfaceType & "): " _ & oDrive.Caption & ", Size=" & Format(oDrive.Size, False) & " MBytes" WScript.echo "Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary" WScript.echo String(71, "-") 'WScript.Echo "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition" Set cPartitions = oWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" _ & Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition") For Each oPartition In cPartitions aPartition = Split(oPartition.DeviceID) Set cLogicalDisks = oWMIService.ExecQuery _ ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & oPartition.DeviceID _ & """} WHERE AssocClass = Win32_LogicalDiskToPartition") if oPartition.Bootable then sActive = "Yes" Else sActive = "No " if oPartition.PrimaryPartition then sPrimary = "Yes" Else sPrimary = "No " For Each oLogicalDisk In cLogicalDisks For Each oVolume In cLogicalDisks sLabel = Left(oVolume.VolumeName & Space(12), 12) Next With oLogicalDisk sSpacer = Space(8 - Len(.FileSystem)) WScript.Echo " " & aPartition(3) & " " & .DeviceID & " " & sLabel _ & .FileSystem & sSpacer & Format(.Size, True) & " " _ & Format(.FreeSpace, True) & " " & sActive & " " & sPrimary End With Next Next WScript.Echo Next Function Format(n, bPad) n = FormatNumber(n/1000000, 0, -1, 0, -1) if bPad then Format = Space(7-Len(n)) & n Else Format = n End Function
2、运行
@REM do not use wscript GetHDInfo.vbs @cscript GetHDInfo.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. Disk #1(IDE): Hitachi HTS545032B9A302 ATA Device, Size=320,070 MBytes Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary ----------------------------------------------------------------------- #1 D: WinAPP NTFS 319,862 182,455 No Yes Disk #0(IDE): Samsung SSD 850 EVO 500GB ATA Device, Size=500,105 MBytes Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary ----------------------------------------------------------------------- #1 E: MacSSD HFS 256,114 89,747 No Yes #3 C: BOOTCAMP NTFS 242,999 45,934 Yes Yes Press any key to continue . . .