Sign in to follow this  
Followers 0
caveman0

What disk is the drive on?

2 posts in this topic

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.

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

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

Share this post


Link to post
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
Sign in to follow this  
Followers 0