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 :

[vbs] fichier d'un dossier


Sujet :

VBScript

  1. #1
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut [vbs] fichier d'un dossier
    salut tous le monde
    avec ce code je veux voire tous les fichier htm dans le dossier et dous dossier d'un rep c:\dossier je n'est pas pi aller plus loin que ca

    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
    ParcoursRep("E:\vbs")
     
    Sub ParcoursRep(oFolder As Scripting.Folder)
    Dim oFile As File
    Dim oSousRep As Folder
     
    For Each oFile In oFolder.Files
    msgbox oFile
    Next
     
    For Each oSousRep In oFolder.SubFolders
    ParcoursRep oSousRep
    Next
     
    End Sub

  2. #2
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut
    voilla j'ai trouver





    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
    Dim fso 'As FileSystemObject
    Dim i 'As Integer
    Dim ficListe
     
     
    Dim FolderInit 'As Scripting.Folder
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    Set FolderInit = fso.GetFolder("E:\vbs")
    re FolderInit
     
     
    Sub re(SousFolder) 'As Folder)
    Dim NewFolder 'As Scripting.Folder
    Dim f 'As File
     
     
    For Each f In SousFolder.Files
    'If (f.DateLastModified >= Date-1) And Right(f.Name, 3) = "htm" Then
      msgbox f.Path 
    'End If
    Next
     
     
    For Each NewFolder In SousFolder.SubFolders
     re NewFolder
    Next
     
     
    End Sub

  3. #3
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut ecrire dans un fichier txt
    salut tous le monde
    j'essay d'ecrire tous les fichier dans un fichier text list mais il ya une erreur merci de m'aider




    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
     
    Sub re(SousFolder) 'As Folder)
    Dim NewFolder 'As Scripting.Folder
    Dim f 'As File
    Dim fso
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Ftxt =  FSO.createTextFile("list.txt",true)
     
    For Each f In SousFolder.Files
    If Right(f.Name, 3) = "htm" Then Ftxt.writeline f.Path
    Next
     
    For Each NewFolder In SousFolder.SubFolders
     re NewFolder
    Next 
    End Sub

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et l'erreur c'est quoi ? qu'elle ligne ?

  5. #5
    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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je te déconseille la récursivité.

    C'est puissant mais très vite piégeant. Il faut maitriser totalement son code pour s'en servir.

    Sinon risque de boucle infini.

    Je ne suis pas sur que le code suivant ne plante pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each NewFolder In SousFolder.SubFolders
     re NewFolder
    Next
    Quand il n'y a plus de sous répertoire je pense que cela plante.
    Mais le dans un if qui test la présence de sous repertoire.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    à oui ... j'ai répondu un peu vite .. hier..

    faudrai sortir de cette fonction récursive la création de l'objet FSO et l'ouverture de ton fichier texte ... une fois suffit

  7. #7
    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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    à oui ... j'ai répondu un peu vite .. hier..
    Je te comprends à force de voir passer des messages qui disent :
    "Au secours j'ai un problème" sans rien préciser de plus, on a tendance à abreger la réponse.

    Moi je viens d'arriver au boulot et j'ai pas le courage de commencer

    Bon un café et hop je m'y met
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  8. #8
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut
    l'erreur et dans cette ligne le fichier et vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Right(f.Name, 3) = "htm" Then Ftxt.writeline f.Path

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par bbil Voir le message
    et l'erreur c'est quoi ?

  10. #10
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 327
    Points : 127
    Points
    127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    enr f.path
     
    sub enr(x)
    f.WriteLine(x)
    end sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enumerer les fichiers d'un dossier
    Par Zazeglu dans le forum C
    Réponses: 5
    Dernier message: 10/03/2006, 22h28
  2. Réponses: 7
    Dernier message: 05/01/2006, 01h06
  3. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26
  4. [LG] Accéder à tous les fichiers d'un dossier
    Par arno15 dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2005, 10h18
  5. Problème affichage de fichiers d'un dossier
    Par TommyWeb dans le forum Langage
    Réponses: 4
    Dernier message: 08/10/2005, 15h15

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