Ho verificato e funziona :
Imports System.IO
''' <summary>
''' This class contains directory helper method(s).
''' </summary>
Public Class Main
Dim lstFilesFound As List(Of String) = New List(Of String)
Dim elementoRicerca As String = vbNullString
Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
elementoRicerca = "DemoFatturaPA.xml"
'ProcessDir("C:\", elementoRicerca)
End Sub
Public Sub ProcessDir(ByVal Dir As String, Optional ByVal elementoRicerca As String = "")
Try
' Processa la lista dei files trovati nella directory passata
Dim fileEntries As String() = Directory.GetFiles(Dir)
For Each fileName As String In fileEntries
If (fileName.Contains(elementoRicerca) Or elementoRicerca = "") Then
ProcessFile(fileName)
End If
Application.DoEvents()
Next
' Processa tutte le directory trovate nella directory passata alla funzione
Dim subdirectoryEntries As String() = Directory.GetDirectories(Dir)
For Each subdirectory As String In subdirectoryEntries
ProcessDir(subdirectory, elementoRicerca)
Application.DoEvents()
Next
Catch UAEx As UnauthorizedAccessException
Console.WriteLine(UAEx.Message)
Catch PathEx As PathTooLongException
Console.WriteLine(PathEx.Message)
End Try
End Sub
Public Sub ProcessFile(ByVal FilePath As String)
' processa il file
' possiamo recuperare varie informazioni sul file tramite FileInfo
' ed eventualmente inserire qui altre routine di controllo, in questo
' codice ci limitiamo soltanto ad elencare tutti i files con le sottodirectory
' Dim InfoFile As New FileInfo(FilePath)
lstFilesFound.Add(FilePath) ' aggiungo il file esaminato ora alla lista
End Sub
End Class
Blog ImaginSystems
http://blogs.dotnethell.it/imaginsystems
http://www.imaginsystems.it
http://www.alpacasrl.it