IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

boucle qui liste les fichiers


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut boucle qui liste les fichiers
    Bonjour, j'ai une boucle qui liste les fichiers d'un répertoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "C:\Documents and Settings\Kookatix\Bureau\Nouveau dossier"
     
    If oFSO.FolderExists(stRep) Then
     
     For each oFl in  oFSO.GetFolder(stRep).Files
       vrFchs = vrFchs & vbCrLf & oFl.Name	
     Next
     
    End If
     
     
    Wscript.Echo vrFchs
    J'ai deux questions:

    1) Comment faire pour fouilller les sous répertoire ?

    3) Comment afficher le chemin complet des fichiers ?

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    la ligne suivante te permet d'afficher le chemin complet d'un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vrFchs = vrFchs & vbCrLf & oFl.Path & "\" & oFl.Name
    Bon j'avais envie de m'amuser un peu avec la récursivité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    dim vrFchs
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "C:\Program Files\Microsoft Visual Studio 8"
     
    'On va lister les répertoire et les sous répertoires avec une fonction récursive
    If oFSO.FolderExists(stRep) Then
     vrFchs = ListeFichierDansRep (oFSO, stRep, vrFchs)
    End If
     
    'On écrit le résultat dans un fichier.
    Set Ftxt =  FSO.createTextFile("c:\temp\toto.txt",true) 'true = ecrase le fichier s'il existe déjà.
    Ftxt.writeline (vrFchs)
    Ftxt.Close
     
    'Affiche dans une box.
    'Wscript.Echo vrFchs
     
     
     
    Function ListeFichierDansRep (oFSO, stRep, vrFchs)
     
     'On récupère le répertoire.
     Set Folder = oFSO.GetFolder(stRep)
     
     'On récupère la liste des sous répertoire.
     Set SubFolders = Folder.Subfolders
     
     'Pour la mise en  forme du texte, les fichiers lister seront sous une ligne indiquant le répertorie courant.
     vrFchs = vrFchs & vbCrLf & vbCrLf & vbCrLf & "Répertoire : " & Folder.Path & "\" & Folder.Name
     
     'On parcours la liste des fichiers du répertoire courant.
     For each oFl in  Folder.Files
       vrFchs = vrFchs & vbCrLf & oFl.Name	
     Next
     
     'S'il y a des sous répertoires, on parcours la liste des sous répertoires.
     If SubFolders.count <> 0 Then
    	For Each SubFolder in SubFolders
    		'Pour chaque sous répertoire on appelle la fonction actuelle (c'est ça la récursivité).
    		ListeFichierDansRep oFSO, SubFolder.Path, vrFchs
    	Next
     End If
     
     'On venvois la liste construite.
     ListeFichierDansRep = vrFchs
    End Function

  3. #3
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Encore merci

    oFl.Path renvoi aussi le nom du fichier

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Hum...
    Je n'ai peut être pas bien regardé lorsque j'ai essayé path, j'avais l'impression qu'il n'y avais pas le nom du fichier.
    Enfin pas grave, du moment que tu as ce que tu veux.

    Je corrige un truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'On écrit le résultat dans un fichier.
    Set Ftxt =  oFSO.createTextFile("c:\temp\toto.txt",true) 'true = ecrase le fichier s'il existe déjà.
    Ftxt.writeline (vrFchs)
    Ftxt.Close
    J'avais mis FSO au lieu de oFSO

  5. #5
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    J'avais mis FSO au lieu de oFSO
    respect pédagogique de la notation hongroise
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Citation Envoyé par omen999 Voir le message
    respect pédagogique de la notation hongroise
    Non non pas du tout juste des problèmes de copier-coller

    PS : Je me demande si c'était pas une blague et que c'est cela la notation hongroise ?

Discussions similaires

  1. Script qui liste les fichiers
    Par elminio75 dans le forum VBScript
    Réponses: 2
    Dernier message: 18/02/2013, 14h58
  2. Script qui liste les repertoires donnant des liens sur les fichiers
    Par PsYKrO dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 22
    Dernier message: 27/03/2008, 08h46
  3. besoin d'une API qui exploite les fichier Word
    Par fafa624 dans le forum Documents
    Réponses: 1
    Dernier message: 16/12/2006, 17h01
  4. Réponses: 4
    Dernier message: 08/09/2006, 13h17
  5. Réponses: 1
    Dernier message: 22/08/2006, 03h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo