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

VB.NET Discussion :

recherche avec fso


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Points : 123
    Points
    123
    Par défaut recherche avec fso
    Bonjour à tous je cherche à faire une recherche avec fso dans le premier sous répertoire de chaque dossier contenu dans un répertoire.
    Pour ce qui n'aurait pas compris cette phrase je m'explique
    Dans un répertoire que l'ont appellera "root" j'ai plusieurs sous répertoires nommé "1, 2, 3, 4, etc." ces répertoires contiennent eux même des répertoires "1.1, 2.1, 3.1, 4.1, etc.". Moi je souhaiterais effectuer une recherche que dans le premier niveau s'est à dire les dossiers "1, 2, 3, 4, etc."
    Allé petit bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim oFSO As Scripting.FileSystemObject
    Dim oFld As Folder
    oFSO = new Scripting.FileSystemObjecct
     
    For Each  folders in oFld.SubFolders
    oFld = oFSO.GetFolder(myfolder)
    For Each files in oFld.Files
    msgbox(files.name)
    Next
    Next
    Quelle condition je pourrais utiliser dans le premier "For each" pour qu'il ne rentre pas dans les répertoires de niveau 2.
    Voilou merci d'avance

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Salut

    Utilises plutot la class directory

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function GetDirectoriesFirstDepth() As List(Of String)
            Dim listfoldername As New List(Of String)
            Try
                Dim SousDos() As String = Directory.GetDirectories("C:\ROOT")
                Dim Dossier As String
                For Each Dossier In SousDos
                    listfoldername.Add(Dossier)
                Next
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
            Return listfoldername
        End Function

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Points : 123
    Points
    123
    Par défaut
    ok mais tu lui dit comment de ne regarder que dans les répertoire de niveau 1 du répertoire "root"? surtout que le nom des répertoire de niveau je ne connais pas à l'avance comment ils se nomment donc je ne peux pas les exclure par leurs noms

  4. #4
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    j'obtiens tous les sous répertoire sous root
    tu écris
    Dans un répertoire que l'ont appellera "root"
    donc tu connais son chemin
    disons tu as
    ROOT
    DIR1
    DIR1.2
    DIR2
    DIR2.1
    DIR3
    DIR3.1
    DIR4
    DIR5
    DIR5.1

    dans laliste j'obtiens DIR1 DIR2 DIR3 DIR4 DIR5
    possible que je n'ai pas compris ce que tu veux

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Points : 123
    Points
    123
    Par défaut
    si tu comprend que DIR1.1 est le sous répertoire de DIR1 et que DIR2.1 est le sous répertoire de DIR2 alors oui obtenir DIR1 DIR2 DIR3 ... s'est cela que je veux

  6. #6
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    j'espère que ça ira

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      Private Function GetDirectoriesDepth(ByVal root As String) As List(Of String)
            Dim listfoldername As New List(Of String)
            Try
                Dim SousDos() As String = Directory.GetDirectories(root)
                Dim Dossier As String
                For Each Dossier In SousDos
                    listfoldername.Add(Dossier.Substring(root.Length + 1))
                Next
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
            Return listfoldername
        End Function
    et pour appeler la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim listdir As New List(Of String)
            listdir = GetDirectoriesDepth("C:\ROOT")

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Points : 123
    Points
    123
    Par défaut
    Ouais s'est super merci shayw!

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

Discussions similaires

  1. Recherche avec Locate option lopartialKey
    Par jeje.r dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/12/2022, 10h56
  2. Recherche avec des accents!?
    Par mona dans le forum Access
    Réponses: 3
    Dernier message: 14/06/2005, 20h36
  3. recherche avec findnearest
    Par souad26 dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/11/2004, 20h58
  4. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55
  5. Réponses: 8
    Dernier message: 14/11/2003, 22h51

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