Page 1 sur 1

Parcourir récursivement un répertoire [Réglé]

Publié : sam. 03/mars/2007 19:08
par Snooze
Bonjour à tous et désolé si la question a déjà une réponse.

Je cherche à automatiser un scan d'un répertoire de driver pour sysprep comme le programme Sysprep driver scanner de Vernalex.

Je souhaite scanner le répertoire c:\sysprep\drivers\ qui contient plein de dossiers et sous dossiers avec des fichiers .inf :
ex:

c:\sysprep\drivers\P5GD1-VM\audio\
c:\sysprep\drivers\P5GD1-VM\lan
c:\sysprep\drivers\TUV4X\pci

Je souhaiterais pouvoir tester tous les répertoires, et quand je trouve un fichier .inf, enregister le path du répertoire.

J'arrive à tester un répertoire mais comment les tester tous ?

Merci d'avance pour toute info.

Publié : sam. 03/mars/2007 21:05
par Flype
Salut et bonjour à la Belgique,

Effectivement cela a été abordé plusieurs fois. Voici un exemple :

Code : Tout sélectionner

Procedure.s ParseDirectory(folder.s, id.l = 0)
  
  If Right(folder, 1) <> "\"
    folder + "\"
  EndIf
  
  If ExamineDirectory(id, folder, "*.*")
    
    While NextDirectoryEntry(id)
      
      If DirectoryEntryName(id) <> "." And DirectoryEntryName(id) <> ".."
        
        ;##########################################
        Debug folder + DirectoryEntryName(id)
        ;##########################################
        
        If DirectoryEntryType(id) = #PB_DirectoryEntry_Directory
          ParseDirectory(folder + DirectoryEntryName(id), id + 1)
        EndIf
        
      EndIf
      
    Wend
    
    FinishDirectory(id)
    
  EndIf
  
EndProcedure 

ParseDirectory(GetEnvironmentVariable("USERPROFILE"))

Publié : sam. 03/mars/2007 21:52
par Snooze
Merci beaucoup Flype, c'est exactement ça.

Bonne soirée à tous.