Declare Unicode Function StrCmpLogicalW Lib "shlwapi.dll" (ByVal s1 As String, ByVal s2 As String) As Int32 Private Function CompareFiles(x As String, y As String) As Integer Return StrCmpLogicalW(x, y) End Function For Each driver As DriveInfo In DriveInfo.GetDrives() If driver.IsReady And driver.DriveType = DriveType.Removable Then Dim ext = {"*.zip"} Dim rootFiles() As String = ext.SelectMany(Function(f) Directory.GetFiles(driver.RootDirectory.ToString, f, SearchOption.TopDirectoryOnly)).OrderBy(Function(f) f).ToArray() Array.Sort(rootFiles, New Comparison(Of String)(AddressOf CompareFiles)) 'Next line gets System Volume Information Dim otherFiles = ext.SelectMany(Function(f) Directory.GetFiles(driver.RootDirectory.ToString, f, SearchOption.AllDirectories)).OrderBy(Function(f) f).ToArray() Array.Sort(otherFiles, New Comparison(Of String)(AddressOf CompareFiles)) ComBoxUsb.Items.Clear() For Each model In rootFiles.Union(otherFiles) ComBoxUsb.Items.Add(model) Next End If Next