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

MATLAB Discussion :

Charger fichiers de plusieurs repertoires


Sujet :

MATLAB

  1. #1
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut Charger fichiers de plusieurs repertoires
    bonjour a tous, je souhaite charger plusieurs fichier qui sont dans des sousrepertoires differents, sachant que tout ces sousrepertoires sont dans un seul repertoires ... je ne sais pas si c'est claire...
    en fait j'ai:
    Repertoire_1\sousrepertoire1\fichiers
    Repertoire_1\sousrepertoire2\fichiers
    Repertoire_1 \sousrepertoire3\fichiers
    .
    .
    .

    en utilisant uigetdir j'ai acces aux sousrepertoires et donc je suis obligé de refaire la meme chose plusieurs fois de suite.
    l'ideale est de selecionner repertoire_1 et de charger tous les fichiers qui sont dans tous les sousrepertoires.

    j'ai creusé dans le Help mais rien
    merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Tu peux t'aider de la
    Comment lister les fichiers d'une certaine extension dans un répertoire ?

    1. Tu listes d'abord tous les sous-répertoires, c'est presque pareil tu utilises la fonction DIR qui te retourne une structure.
    Dans cette structure tu prends les éléments qui n'ont pas pour 'name' les valeurs '.' et '..' (répertoires spécifiques) et pour 'isdir' la valeur 1

    2. Tu boucles ensuite sur tous les sous-répertoires trouvés pour récupérer les fichiers.

    Pour le 1 tu peux aussi utiliser la fonction GENPATH (ou t'en inspirer, elle est éditable). Le problème c'est qu'elle retourne une chaine de caractères qu'il faut traiter pour séparer les différents répertoires.

    Tu peux aussi essayer de chercher sur ce Forum, il me semble que c'est un sujet qui a déjà été abordé.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Salut,

    Essaies avec ce code :

    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
     
    rep = '.';
    ext = '*.txt';
    varPath = genpath(rep)
     
    varDir = [];
    counter = 1; % compteur
    p = 1;
     
    % LISTE DOSSIERS
    while true
       t = strtok(varPath(p:end), pathsep);
       p = p + length(t) + 1;
     
       varDir{counter} = t;
     
       if isempty(strfind(varPath(p:end),';')) break, end;
       counter = counter + 1;
    end
     
    %LISTE FICHIERS
    for f = 1:numel(varDir)
        chemin = fullfile(varDir{f},ext)
        list(end+1:end+numel(dir(chemin))) = dir(chemin)
    end
     
    list
    ++
    AlloSchool, votre école sur internet.

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    STRTOK, quelle drôle d'idée et un WHILE bouh !

    Regarde ce code mon petit samourai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p=genpath(pwd);
    reps=strread(p,'%s','delimiter',';');
    [EDIT] pssit en plus tu as oublié d'initialiser la variable list, marchera pas
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut
    en fait moi, je selectionne mon repertoire a l'aide de uigetdir, donc la je recupere le chemin jusqu'au repertoire sur lequel j'ai clické.
    le soucis : je ne connais pas combiens de sous repertoires il y a et surtout conbien de sous_sousrpertoires, c'est a dire que je peux avoir
    repertoire\sousrepertoire\sous_sourepertoire\sous_sous_sourepertoire .......

    et je ne sais pas quand est ce que ca s'arrete du coup pour mes boucles c'est un peut galere...

    need more help !!!

  6. #6
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    STRTOK, quelle drôle d'idée et un WHILE bouh !

    Regarde ce code mon petit samourai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p=genpath(pwd);
    reps=strread(p,'%s','delimiter',';');
    [EDIT] pssit en plus tu as oublié d'initialiser la variable list, marchera pas
    lol Caro , j'ai pas utilisé mon cerveau. Je suis sur autre chose à coté ... A vrai dire du copier-coller de la doc avec quelques retouches .

    Citation Envoyé par kabil.cpp Voir le message
    en fait moi, je selectionne mon repertoire a l'aide de uigetdir, donc la je recupere le chemin jusqu'au repertoire sur lequel j'ai clické.
    le soucis : je ne connais pas combiens de sous repertoires il y a et surtout conbien de sous_sousrpertoires, c'est a dire que je peux avoir
    repertoire\sousrepertoire\sous_sourepertoire\sous_sous_sourepertoire .......

    et je ne sais pas quand est ce que ca s'arrete du coup pour mes boucles c'est un peut galere...

    need more help !!!
    T'as essayé le code ?
    Justement, le code posté gère lui même le récursivité (la boucle WHILE) . Le code travaille sur le répertoire courant.


    ++ bonne chance
    AlloSchool, votre école sur internet.

  7. #7
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    As-tu regarder l'aide de GENPATH ?
    Il génère récursivement tous les sous-répertoires du répertoire donné en entrée, donc tu as déjà tout ce dont tu as besoin.

    Essayes les différents codes que l'on t'a donnés et dis-nous où tu bloques.
    Règles du Forum

    Adepte de la maïeutique

  8. #8
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut
    ok merci beaucoup, GENPATH fait des miracles !!

    j'ai une autre question, il semble que quand je fait var=dir(file) dans var.isdir va toujours etre a 1 puisque j'ai toujours les repertoires '.' et '..' qui sont present.

    et aussi ya-t'il une fonction qui me donne l'extension de mes fichiers ??
    cad: je fait var=dir(file) puis je scrute tous les var.name et je ne prend que ceux qui ont l'extension .mat par exemple.

    merci

  9. #9
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    1. var.isdir a plusieurs valeurs ça ne veut rien dire en soit.
    Tu auras toujours var(1).isdir et var(2).isdir égaux à 1 car ils correspondent à '.' et '..'

    2. As-tu lu le lien que je t'ai donné vers la FAQ ? Il explique comment récupérer les fichiers d'une certaine extension.
    Après si tu veux plusieurs extensions, récupérer l'extension d'un fichier peut se faire avec la fonction FILEPARTS.
    Règles du Forum

    Adepte de la maïeutique

  10. #10
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut
    merci beaucoup !!! et merc pour le forum !!!
    bonne continuation !!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/06/2010, 17h25
  2. Fichiers de Données sur plusieurs repertoires
    Par habibdspcm dans le forum WinDev
    Réponses: 3
    Dernier message: 07/11/2008, 13h45
  3. Copier et renommer un fichier de plusieurs repertoires differents
    Par Jessy2 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 01/10/2008, 15h24
  4. Comment Cherher un fichier sous plusieur repertoir
    Par zizo89 dans le forum Delphi
    Réponses: 3
    Dernier message: 17/05/2007, 20h32
  5. Charger des fichiers d'un repertoire
    Par demanghonj dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/01/2005, 17h23

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