Rechercher un dossier

Résolu
ZogStriP Messages postés 164 Date d'inscription dimanche 16 novembre 2003 Statut Modérateur Dernière intervention 5 juillet 2005 - 26 déc. 2004 à 17:59
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 26 déc. 2004 à 20:31
Bonjour tout le monde !

Je souhaiterais faire la recherche sur tous les disques durs présents sur un pc d'un dossier (par exemple : Mes Images) et ensuite je voudrais pouvoir copier tout son contenu (sous dossiers compris) dans le même dossier que celui de l'application ...
Je n'ai trouvé aucune source permettant de faire la recherche d'un répertoire....

Merci

ZogStriP
IA pour : Incomplet de l'Ancéphale %-6
http://blog.developpeur.org/zogstrip/
8-) www.rubikscubor.fr.st 8-)

#define ThatTheQuestion ((bb) || !(bb))

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 déc. 2004 à 18:27
Va voir ma source nommée Copie d'un dossier avec défillement, ca devrait t'aider au moins à faire la copie récursive des sous-dossier, voir même la recherche du dossier.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
26 déc. 2004 à 19:38
Tiens, puisque c les fêtes, je te livre un truc très court mais qui fonctionne :

Dim fso As Object

Private Sub Form_Load()
Dim d As Object

' Crée un FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")

' Parcourre tous les DD du PC
For Each d In fso.Drives
If d.DriveType = 2 Then Recherche (d.Path & "")
Next

Set fso = Nothing

End Sub

Sub Recherche(Chemin As String)
Dim f, sf, fl

  ' On choppe le dossier de départ
  Set f = fso.getfolder(Chemin)
  
  ' On scanne les sous dossiers
  For Each sf In f.SubFolders
    ' S'il y en a un qui correspond à la recherche
    If LCase(sf.Name) = "mes images" Then
      ' On copie tous les fichiers
      For Each fl In sf.Files
      fso.CopyFile Chemin & sf.Name & "" & fl.Name, App.Path & "" & fl.Name, True
      Next
    End If
    ' On continue récursivement
    Recherche_Dossier Chemin & sf.Name & ""
  Next

Set f = Nothing
Set sf = Nothing
Set fl = Nothing

Unload Me

End Sub


Cordialement, CanisLupus
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
26 déc. 2004 à 18:33
Salut ZogStriP
Parce que tu a mal cherché !
Regarde cette source
Il suffisait de chercher 'dossiers windows' pour tomber dessus.
Avec ça, tu pourras trouver où se trouve 'Mes Documents', tu n'auras plus qu'à y ajouter 'Mes Images'

Ensuite, pour lister les fichiers et sous répertoires, il y a de multiples sources qui font cette recherche récursive, cherche un peu (regarde l'aide de la fonction DIR, tu sauras tout)

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
26 déc. 2004 à 18:49
C'est vrai ça,
Sur le site, tu as le choix, DIR ou FileSystemObject. Et toutes les fonctions récursives possibles.
Et puis, si tu veux lister tous les disques durs locaux de ton pc :

Dim d As Object
Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

For Each d In fso.Drives
If d.DriveType = 2 Then MsgBox d.Path & ""
Next

Cordialement, CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ZogStriP Messages postés 164 Date d'inscription dimanche 16 novembre 2003 Statut Modérateur Dernière intervention 5 juillet 2005 1
26 déc. 2004 à 20:00
Merci infiniment à vous tous !

Vive CodeS SourceS ;)

ZogStriP
IA pour : Incomplet de l'Ancéphale %-6
http://blog.developpeur.org/zogstrip/
8-) www.rubikscubor.fr.st 8-)

#define ThatTheQuestion ((bb) || !(bb))
0
ZogStriP Messages postés 164 Date d'inscription dimanche 16 novembre 2003 Statut Modérateur Dernière intervention 5 juillet 2005 1
26 déc. 2004 à 20:10
J'ai un : Permission denied à la ligne : For Each sf In f.SubFolders

ZogStriP
IA pour : Incomplet de l'Ancéphale %-6
http://blog.developpeur.org/zogstrip/
8-) www.rubikscubor.fr.st 8-)

#define ThatTheQuestion ((bb) || !(bb))
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
26 déc. 2004 à 20:31
Mea culpa, dans la recopie de mon code, j'ai oublié un truc.

A la place de :
' On continue récursivement
Recherche_Dossier Chemin & sf.Name & ""
Next
il faut coder :
' On continue récursivement
Recherche Chemin & sf.Name & ""
Next

Sinon, pour ton erreur, ça ne m'est pas arrivé mais ça peut venir d'un dossier XP system caché. Dans ce cas, faut gérer ça avec une on error resume next.

Cordialement, CanisLupus
0