Jump to content

What disk is the drive on?


caveman0
 Share

Recommended Posts

Hi,

I'm trying to create an Auto-IT script that when given a drive letter the program will find out what disk number it is on. (e.g: Drive C: is on Disk 0). I've been trying to look at WMI to see if I can get it but i can't find a function that will help me with what I need.

Thanks.

Link to comment
Share on other sites

Here's an example using WMI.

#include <Array.au3>
$arrResults=_GetLogicalDriveToPartition()
_ArrayDisplay($arrResults)

Func _GetLogicalDriveToPartition()
    $objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
    If Not IsObj($objWMIService) Then Return -1 ;Failed to Connect to WMI on Local Machine
   
    Local $arr[1][2]
   
    $colDevice = $objWMIService.ExecQuery("SELECT * from Win32_LogicalDiskToPartition")
    For $objItem in $colDevice
        ReDim $arr[UBound($arr)+1][2]
        $arr[UBound($arr)-1][0]=StringTrimLeft($objItem.Antecedent,StringInStr($objItem.Antecedent,"=",0,-1))
        $arr[UBound($arr)-1][1]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
    Next
   
    $colDevice=0
    $objWMIService=0
   
    $arr[0][0]="Disk #, Partition #"
    $arr[0][1]="Drive Letter"
    Return $arr
EndFunc
Edited by spudw2k
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...