البته فکر کنم این بهتر باشه!!! :

        For Each drive As String In IO.Directory.GetLogicalDrives

Try

For Each directory As String In IO.Directory.GetDirectories(drive)

Dim dirinfo As New IO.DirectoryInfo(directory)

If dirinfo.Attributes = 22 Or dirinfo.Attributes = 8211 Then

Continue For
End If

For Each file As String In IO.Directory.GetFiles(dirinfo.FullName, "*.txt", IO.SearchOption.AllDirectories)

Me.ListBox1.Items.Add(file)
Me.ListBox1.Refresh()
Next
Next
Catch ex As Exception

'Do Nothing!
End Try
Next


اگه میشه یه نگاه هم به این بندازین:

https://barnamenevis.org/showthread.php?t=59956