Ce petit prog parcourt les répertoire de tous les disques présent repère les fichiers avec une certaine extension (ici mp3) et stocke leur nom et leur chemin dans une base access
Source / Exemple :
Option Explicit
Dim db As Database
Dim rc As Recordset
Sub RecurseTree(CurrentPath As String)
Dim intN As Integer, intDirectory As Integer, intlngch As Integer
Dim strFileName As String, strDirectoryList() As String, strtemp As String
'Lister d'abord tous les fichiers normaux de ce répertoire
strFileName = Dir(CurrentPath)
Do While strFileName <> ""
intlngch = Len(strFileName) - 2
If intlngch > 3 Then
'Recuperation de l'extension du fichier dasn la chaine strtemp
strtemp = Mid(strFileName, intlngch, 3)
If (strtemp = "mp3") Then
strFileName = Mid(strFileName, 1, (intlngch - 2))
'pour le stockage dans une base access
rc.AddNew
rc![file_name] = strFileName
rc![file_path] = CurrentPath
rc.Update
'pour le stockage dans un fichier
'Print #1, "chemin" & CurrentPath
'Print #1, " nom: " & strFileName
End If
End If
strFileName = Dir
Loop
'Puis construire une liste temporaire des sous-répertoires
strFileName = LCase(Dir(CurrentPath, vbDirectory))
Do While strFileName <> ""
'Ignorer le répertoire en cours, le répertoire parent, et
'le fichier page de Windows NT
If strFileName <> "." And strFileName <> ".." And _
strFileName <> "pagefile.sys" Then
'Ignorer les fichiers qui ne sont pas des répertoires
If GetAttr(CurrentPath & strFileName) _
And vbDirectory Then
intDirectory = intDirectory + 1
ReDim Preserve strDirectoryList(intDirectory)
strDirectoryList(intDirectory) = CurrentPath _
& strFileName
End If
End If
strFileName = Dir
'Traiter les autresd événements
DoEvents
Loop
'Traiter récursivement tous les répertoires
For intN = 1 To intDirectory
RecurseTree strDirectoryList(intN) & "\"
Next intN
End Sub
Private Sub Form_Load()
Dim strStartPath As String, strsql As String
Me.Show
Print "Je travaille..."
Me.MousePointer = vbHourglass
'pour le stockage dasn une base access
Set db = OpenDatabase("c:\bdmp3.mdb")
strsql = "select * from Tablemp3"
Set rc = db.OpenRecordset(strsql, dbOpenDynaset)
If (Not rc.EOF) Then
rc.MoveFirst
Do While (Not rc.EOF)
rc.Delete
rc.MoveNext
Loop
End If
rc.Close
Set rc = db.OpenRecordset("tablemp3", dbOpenDynaset)
strStartPath = "C:\"
'pour le stockage dans un fichier
'Open "C:\FILETREE.TXT" For Output As #1
RecurseTree strStartPath
'Close #1
rc.Close
Set rc = Nothing
db.Close
Set db = Nothing
Me.MousePointer = vbDefault
Unload Me
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.