Répertoires et sous-répertoires
Stagiaire WDF
Inscrit:
18/08/2003 09:56
De COLMAR (ALSACE)
Post(s): 41
Salut tout le monde.

Alors ma question : est il possible de connaître la structure répertoire, sous-répertoire à partir d'un emplacement donné ?

Attention, ne pas me répondre d'utiliser la fonction fListeFichier() car cette fonction ne fonctionne (ho, le joli jeu de mot) que si les répertoires ne sont pas vides, et plus exactement, contiennent des fichiers. Je suis dans le répertoire Rep1. Celui-ci contient le répertoire Rep2, qui contient Rep3 et Rep4. J'ai besoin de supprimer tous les sous-répertoires de Rep1, mais uniquement ceux de niveau 2 ou plus (Rep3 et Rep4 donc, pas Rep2). Vous me suivez ? Alors comment connaître, de façon récursive ou non, la liste des sous-répertoires d'un répertoire donné ?

That is the question !

Merci à vous tous pour vos nombreuses réponses !

Contribution le : 19/03/2004 12:33
_________________
Garçon ! Un Homer Bière !!
Créer un fichier PDF de la contribution Imprimer


Re: Répertoires et sous-répertoires
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Homer

Je connait Deux solutions:
1 - via les api (FileFindApi)
2 - via un objet com qui s'appel FileSystemObject le plus simple

oFso est une object automation dynamique
oRep est un objet automation dynamique

oFso = allouer un objet automation"Scripting.FileSystemObject"
oRep = oFso>>GetFolder(<Chemin complet de ton répertoire>)
oRep>>SubFolders(<Nom du repertoire à supprimer")>>Delete(Vrai)


Code saisi à la voléé, non testé
à tester.

Contribution le : 19/03/2004 13:01
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Répertoires et sous-répertoires
Stagiaire WDF
Inscrit:
18/08/2003 09:56
De COLMAR (ALSACE)
Post(s): 41
Ok ok, merci déjà pour le conseil. Mais en fait ça n'ira pas. J'ai besoin de faire certains tests sur chaque sous-répertoires avant de les supprimer. Il me faut donc réellement récupérer une liste de sous-répertoires sous forme de chaine de caractère, ou avec une fonction appelée pour chaque sous-répertoire trouvé.

Je me rapelle d'une commande en Visual Basic :
For Each Rep in ListeRep Do
//traitements
Next Rep

Il est possible convertir ça en WinDev ? Encore faut il avoir réussi à récupérer la collection de Rep dans ListeRep. Surement faisable avec le FileSystemObject, non ?

Contribution le : 19/03/2004 13:49
_________________
Garçon ! Un Homer Bière !!
Créer un fichier PDF de la contribution Imprimer


Re: Répertoires et sous-répertoires
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
pas de problème ca marche aussi ,

Il est à savoir que windev ne possède pas l'équivalent du For Each que je trouve fort interressant car il parcours automatiquement les objets d'une collection, indispensable dans certain cas j'en ai fait les frais lors de la manipulation des agents microsoft.

dans la plupart des cas malgré tout on peut contourner cette méthode en récupérant le nombre d'objets contenu dans la collection, c'est ce que nous allons faire.

oFso est une object automation dynamique
oRep est un objet automation dynamiqueo
nRep est un entier
i est un entier
oSousRep une chaine

Fso = allouer un objet automation"Scripting.FileSystemObject"
oRep = oFso>>GetFolder(<Chemin complet de ton répertoire>)
nRep = oRep>>GetFolder>>Count()
POUR i = 1 à nRep
 oSousRep = oRep>>SubFolders(i)>>Name()
 SI <Ma condition est Ok> ALORS
  oRep>>SubFolders(i)>>Delete(vrai)
 FIN
FIN

Contribution le : 19/03/2004 14:06
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Répertoires et sous-répertoires
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Désolé après divers test je me rend compte que l'objet FileSystemObject fait partie des collections qui ne peuvent être parcourue que par un for each
par consequent la procédure décrite précedement ne fonctionne pas.

Désolé



Contribution le : 19/03/2004 14:47
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2