|
Set WshShell = CreateObject( "WScript.Shell" )
strDrv = WshShell.CurrentDirectory
strDrv = Ucase(Left( strDrv, 2 ))
strComputer = "."
Set objWMIService = GetObject(_
"winmgmts:\\" & strComputer & "\root\cimv2")
Query = _
"select * from Win32_LogicalDisk " & _
" where DriveType = 2 and DeviceID = """ & strDrv & """"
Set LogicalDisk = objWMIService.ExecQuery( Query )
bUsb = False
For Each objItem in LogicalDisk
LoadLogicalDiskToPartition()
Next
Wscript.Echo bUsb
Function LoadLogicalDiskToPartition()
Dim param,str
Query = "select * from Win32_LogicalDiskToPartition"
Set LogicalDiskToPartition = objWMIService.ExecQuery( Query )
For Each objItem in LogicalDiskToPartition
str = Right( objItem.Dependent & "", 4 )
if Ucase(str) = """" & strDrv & """" then
param = Ucase(objItem.Antecedent & "")
LoadDiskDriveToDiskPartition(param)
end if
Next
End Function
Function LoadDiskDriveToDiskPartition(str)
Dim param
Query = "select * from Win32_DiskDriveToDiskPartition"
Set DiskDriveToDiskPartition = objWMIService.ExecQuery( Query )
For Each objItem in DiskDriveToDiskPartition
if str = Ucase(objItem.Dependent & "") then
param = Ucase(objItem.Antecedent & "")
LoadDiskDrive(param)
end if
Next
End Function
Function LoadDiskDrive(str)
str = Replace( str, "\\", "\" )
Query = "select * from Win32_DiskDrive"
Set DiskDrive = objWMIService.ExecQuery( Query )
For Each objItem in DiskDrive
target = Ucase( """" & objItem.DeviceID & """" )
length = Len( target )
if Right( str, length ) = target then
if Ucase( objItem.InterfaceType & "" ) = "USB" then
bUsb = True
end if
end if
Next
End Function
| |