Petit soucis de listing

neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010 - 4 juil. 2006 à 14:06
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010 - 4 juil. 2006 à 15:10
Bonjour à tous,
Alors pour essayer d'expliqué mon probléme simplement:
    -J'essaye de creer larborescence d'un repertoir entré par l'utilisateur et l'ecrir dans un fichier txt.
    -J'ai créer une fonction qui me permet de lister les fichier suivi de leur taille ainsi ke le nombre de sous-dossier leur nom suivi de leur taille également.
    -Quan je lance la fonction pour le repertoir pére nos soucis.
    -J'ai créer une petite boucle pour pouvoir lister les premiers repertoirs fils (en attendant avant de chercher créer traitement recursif),
     PB   mais je narrive qu'a lister les fichiers et non fair les traitements liées au dossier.

La Fonction:
Function liste_fichier_dossier (cesfichier)
On Error Resume Next
fichier.WriteLine "Dossier listé : " & cesfichier.Name & "  Taille = > " & cesfichier.Size
For Each truc In cesfichier.Files
fichier.WriteLine truc.Name & " => " & truc.Size 'Ecriture des nom de fichier du dossier
Next
fichier.WriteLine "    Nbr de dossier : " & cesfichier.subFolders.count
For Each truc In cesfichier.subFolders
fichier.WriteLine "    Dossier: " & truc.name & " => " & truc.Size
Next
End Function

La boucle:
    For Each truc In dossier.SubFolders
        If objFso.FolderExists(truc.path) Then
        fichier.WriteLine vbCrLf
        liste_fichier_dossier truc
        Else
        WScript.Echo "Pas de sous repertoir "
        end if
    Next

Le resultat obtenu
Liste éffectuée le : 04/07/2006 13:51:34
Chemin listé : c:\dell

Dossier listé : dell  Taille => 58915940 (dossier pere)
ATAPI.EXE = > 28672
....(liste fichier)...
WALLPAPR.REG => 490
    Nbr de dossier : 2
    Dossier: contact => 144063
    Dossier: tpm => 58499860

Dossier listé : contact  Taille => 144063 (dossier fils)
bullet.gif => 903
caution.gif = > 1046
....(liste fichier)...
Thumbs.db => 6656
users_gd.hht => 26510
Il manque le traitement sur les dossiers (précedement en rouge)

Dossier listé : tpm  Taille => 58499860 (dossier fils)
data1.cab => 1477504
....(liste fichier)...
tpmdrv.inf => 3275
Version.txt => 365
Il manque le traitement sur les dossiers (précedement en rouge)
J'espere réellement avoir était compri par vous tous et merci deja d'avoir lut juske la ;-)

2 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 juil. 2006 à 14:36
Salut,

IL faut faire du récursif.

dans ta fonction liste_fichier_dossier

Ajoute

For Each truc In cesfichier.subFolders
   fichier.WriteLine "    Dossier: " & truc.name & " => " & truc.Size
   liste_fichier_dossier truc
Next

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée, Règlement/FONT>
0
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
4 juil. 2006 à 15:10
Merci a toi jrivet mais la finalité n'est pas la, ce que je voudrai c'est pouvoir avoir les informations sur les sous dossier des repertoirs fils, apres je verai pour les répertoir petit fils etc... J'ai quand même testé ta solution mais il ne scrute qu'un seul repertoir sur les deux repertoir fils et ne fait pas le traiment liée au dossier

Ce que ma donné l'appel de la fonction ds la fonction
Dossier listé : dell  Taille = > 58915940
ATAPI.EXE => 28672
.....liste fichier.....
WALLPAPR.REG => 490
    Nbr de dossier : 2
il manke linfo sur le dossier tmp

    Dossier: contact = > 144063
Dossier listé : contact  Taille => 144063
bullet.gif => 903
.....liste fichier.....
users_gd.hht => 26510
il manke le listing du dossier tmp
0
Rejoignez-nous