Le cartelle "protette" (o di sistema, o in cui non hai l'autorizzazione anche se administrator) le devi evitare; quando avrai un errore per quelle cartelle, ignoralo e continua
e allora gli antivirus come fanno?
si scusami, hai ragione, pensavo di aver postato il codice, ma non l'ho fatto...
parlavo di questa routine:
codice:
Sub Scan(ByVal Source As String)
Dim Fso As Object, oMain As Object, oFold As Object
On Error Resume Next
Set Fso = CreateObject("Scripting.FileSystemObject")
Set oMain = Fso.GetFolder(Source)
For Each oFold In oMain.SubFolders
DoEvents
Debug.Print oFold
Call Scan(oFold)
Next oFold
Set oMain = Nothing
Set Fso = Nothing
End Sub
se la provi sul tuo HD dove hai installato il sistema operativo ti accorgerai che la routine termina mooolto prima di arrivare a cartelle tipo Programmi. Legge infatti solo alcune cartelle sub-dir in windows poi termina sola...