[MATLAB] Nombre de fichiers dans un dossier
Résolu/Fermé
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
-
18 mars 2009 à 12:19
159753123 - 22 mai 2015 à 16:12
159753123 - 22 mai 2015 à 16:12
Bonjour,
J'aimerais sous matlab, avoir le nombre de fichiers dans un dossier pour pouvoir réaliser une boucle de lecture de tous ces fichiers. Cependant si une fonction matlab permet de lire tous les fichiers sans avoir besoin du nombre exacte de fichiers, je suis preneur aussi.
question bonus : les commandes cd, ls etc... marche-t-elle sous matlab windows..il me semble que non..
Merci bien d'avance
J'aimerais sous matlab, avoir le nombre de fichiers dans un dossier pour pouvoir réaliser une boucle de lecture de tous ces fichiers. Cependant si une fonction matlab permet de lire tous les fichiers sans avoir besoin du nombre exacte de fichiers, je suis preneur aussi.
question bonus : les commandes cd, ls etc... marche-t-elle sous matlab windows..il me semble que non..
Merci bien d'avance
A voir également:
- Comment connaitre le nombre de fichiers dans un dossier
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
25 réponses
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
19 mars 2009 à 14:26
19 mars 2009 à 14:26
Bonjour,
Merci bien, je tenais à signaler que,
1/ quand je poste ici, j'ai généralement fait le tour des forums et aide matlab, je pensais que quelqu'un aurait un solution simple (il est impossible de trouver un tuto digne de ce nom pour l'ouverture des fichiers matlab)
par exemple peut on pas tout ouvrir en écrivant simplement débutNomCommmun*.txt après d'avoir dirigé matlab sur l'ensemble des dossiers?
2/J'ai posté mon 2eme message pour essayer d'être plus précis que le premier pour avoir l'aide approprié.
3/J'ai posté deux fois le 2ème message, et je m'en excuse, pour la simple raison que j'ai cru qu'il y avait eu un bug et qu'il n'avait pas été posté.
4/"Les Assistés de la vie" ça n'existe pas. Et la condescendance c'est bien l'impolitesse des gens qui se sentent obliger de l'être.
Merci bien, je tenais à signaler que,
1/ quand je poste ici, j'ai généralement fait le tour des forums et aide matlab, je pensais que quelqu'un aurait un solution simple (il est impossible de trouver un tuto digne de ce nom pour l'ouverture des fichiers matlab)
par exemple peut on pas tout ouvrir en écrivant simplement débutNomCommmun*.txt après d'avoir dirigé matlab sur l'ensemble des dossiers?
2/J'ai posté mon 2eme message pour essayer d'être plus précis que le premier pour avoir l'aide approprié.
3/J'ai posté deux fois le 2ème message, et je m'en excuse, pour la simple raison que j'ai cru qu'il y avait eu un bug et qu'il n'avait pas été posté.
4/"Les Assistés de la vie" ça n'existe pas. Et la condescendance c'est bien l'impolitesse des gens qui se sentent obliger de l'être.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
19 mars 2009 à 13:19
19 mars 2009 à 13:19
Salut
Pas la peine de poster ton sujet 3 fois sur le forum, t'auras pas de réponse plus rapidement, bien au contraire.
CCM - Charte - Respect d'autrui
http://www.commentcamarche.net/forum/affich 11601175 matlab boucle lecture fichiers dans dossier
En référence à ce sujet, quand des dossiers ou des fichiers ont des espaces, faut mettre des apostrophes...
Pas la peine de poster ton sujet 3 fois sur le forum, t'auras pas de réponse plus rapidement, bien au contraire.
CCM - Charte - Respect d'autrui
ne pas poster votre message plusieurs fois sur le forumhttp://www.commentcamarche.net/forum/affich 11600272 matlab traitements ascii dans dossiers
http://www.commentcamarche.net/forum/affich 11601175 matlab boucle lecture fichiers dans dossier
En référence à ce sujet, quand des dossiers ou des fichiers ont des espaces, faut mettre des apostrophes...
cd D:\Travail\'DOSSIER TEST'\'TEST BOUCLE'\En référence à ce sujet, pour traiter tous les fichiers d'un dossier, on va pas tout faire à ta place, alors au lieu de poster 3 fois pour avoir une réponse plus rapidement, faudrait peut-être penser à lire les réponses qui te sont données et à réfléchir un minimum pour répondre toi-même à la question en trois coups de cuillère à pot ; les assistés de la vie, ça commence à bien faire. Char Snipeur dans son message 3 te disait que tu pouvais définir un tableau de caractères en faisant simplement A=ls; ; ce que j'ai confirmé au message 5 en précisant que dans le tableau de caractères obtenu, il y avait . et .. dont il fallait pas s'occuper, avec ça je vois pas où est le problème...
cd le_dossier_où_il_faut_aller A=ls; for p=3:size(A,1) fid=fopen(A(p,:),'r'); %% Lire avec ce que tu veux... %% fread, fscanf, fgets, fgetl, textscan fclose(fid); endOu encore
cd le_dossier_où_il_faut_aller A=ls; for p=3:size(A,1) %% Lecture avec textread %% du fichier de nom A(p,:) endCiao
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 mars 2009 à 13:41
18 mars 2009 à 13:41
Je pense que les commandes matlab fonctionnent sous windows, de mon souvenir.
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
20 mars 2009 à 09:45
20 mars 2009 à 09:45
Merci, j'ai essayé ça :
-----------------------------------------------------------------------------------
clear all
close all
A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt');
for p=1:size(A,1)
fid=fopen(A(p).name,'r');
%% Traitement du fichier
N = 15; % N = Nombre de ligne à passer
for n=1:N;
fgetl(fid);
end;
%fréquence échantillonage
f_ech = 10000;
%tmax = temps d'enregistrement d'un événement
tmax = 0.5002;
%axe de temps
t = [0:1/f_ech:tmax-1/f_ech];
t=t';
% Lecture des données qui se trouvent sur deux colonnes
donnee=fscanf(fiche,'%g %g',[2 inf]);
% Mettre le vecteur de donnees dans le bon ordre
donnee=donnee';
voie1 = donnee(:,1);
voie2 = donnee(:,2);
voie1_fft = fft(voie1);
%fréquence pas
freq = [0:1/tmax:f_ech-1/tmax];
freq = freq';
%spectre d'énergie
spi = abs(voie1_fft).^2; %voie1_fft.*conj(voie1_fft)
figure
plot(freq, spi);
fclose(fid);
end
------------------------------------------------------------------------------
Mais il me retourne :
***************************************
??? Error using ==> fgetl
Invalid file identifier.
Error in ==> OuvertureFichier_3 at 13
fgetl(fid);
***************************************
La ligne 13 (erreur) est au niveau de la boucle pour dépasser l'entête du fichier.. pourquoi ne reconnait il pas le fid à cet endroit, Il semble pourtant ne pas y avoir de raison !
Merci
-----------------------------------------------------------------------------------
clear all
close all
A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt');
for p=1:size(A,1)
fid=fopen(A(p).name,'r');
%% Traitement du fichier
N = 15; % N = Nombre de ligne à passer
for n=1:N;
fgetl(fid);
end;
%fréquence échantillonage
f_ech = 10000;
%tmax = temps d'enregistrement d'un événement
tmax = 0.5002;
%axe de temps
t = [0:1/f_ech:tmax-1/f_ech];
t=t';
% Lecture des données qui se trouvent sur deux colonnes
donnee=fscanf(fiche,'%g %g',[2 inf]);
% Mettre le vecteur de donnees dans le bon ordre
donnee=donnee';
voie1 = donnee(:,1);
voie2 = donnee(:,2);
voie1_fft = fft(voie1);
%fréquence pas
freq = [0:1/tmax:f_ech-1/tmax];
freq = freq';
%spectre d'énergie
spi = abs(voie1_fft).^2; %voie1_fft.*conj(voie1_fft)
figure
plot(freq, spi);
fclose(fid);
end
------------------------------------------------------------------------------
Mais il me retourne :
***************************************
??? Error using ==> fgetl
Invalid file identifier.
Error in ==> OuvertureFichier_3 at 13
fgetl(fid);
***************************************
La ligne 13 (erreur) est au niveau de la boucle pour dépasser l'entête du fichier.. pourquoi ne reconnait il pas le fid à cet endroit, Il semble pourtant ne pas y avoir de raison !
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
18 mars 2009 à 14:42
18 mars 2009 à 14:42
Merci mais reste ma question à 10 euros :)
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 mars 2009 à 15:30
18 mars 2009 à 15:30
Ne peut tu pas récupérer la sortie de ls ? genre :
A=ls ?
A=ls ?
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
19 mars 2009 à 02:01
19 mars 2009 à 02:01
Salut
Oui oui, ça marche très bien comme ça.
On peut même prendre directement la taille de ls en enlevant 2 à cause de . et ..
Oui oui, ça marche très bien comme ça.
On peut même prendre directement la taille de ls en enlevant 2 à cause de . et ..
nb_fichiers=size(ls,1)-2;Bonne nuit
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
19 mars 2009 à 15:19
19 mars 2009 à 15:19
par exemple peut on pas tout ouvrir en écrivant simplement débutNomCommmun*.txt après d'avoir dirigé matlab sur l'ensemble des dossiers?
Genre shell ou batch... mais dans le fond, un truc comme ça, c'est rien d'autre qu'une boucle sur l'ensemble des fichiers du(des) dossier(s). Je pense pas que cette syntaxe soit possible sous Matlab, mais peut-être que je me trompe... du moins pour ouvrir les fichiers je veux dire. Sinon ls *.txt marche très bien par exemple.
Mais si tu veux que tous les fichiers soient tous ouverts et pas les ouvrir et les refermer un à un comme j'ai écrit, un truc du genre devrait faire l'affaire...
Mais ta demande était de les lire un par un.
Comment écrire une boucle simple qui lirait les fichiers un par un des deux dossiers ?
Apparemment t'as moult dossiers aussi, sous Unix/Linux, tu peux passer tous les flags supportés par ton OS à la commande ls. Donc ls -R pour un listing récursif.
Pour Windows, je sais pas s'il y a moyen de faire ça rapidos, mais tu peux aller télécharger le Recursive directory listing sur le File Exchange de Mathworks :
https://www.mathworks.com/matlabcentral/fileexchange/19550-recursive-directory-listing
Bon après-midi
Genre shell ou batch... mais dans le fond, un truc comme ça, c'est rien d'autre qu'une boucle sur l'ensemble des fichiers du(des) dossier(s). Je pense pas que cette syntaxe soit possible sous Matlab, mais peut-être que je me trompe... du moins pour ouvrir les fichiers je veux dire. Sinon ls *.txt marche très bien par exemple.
Mais si tu veux que tous les fichiers soient tous ouverts et pas les ouvrir et les refermer un à un comme j'ai écrit, un truc du genre devrait faire l'affaire...
cd le_dossier_où_il_faut_aller A=ls; for p=3:size(A,1) eval(['fid' num2str(p) '=fopen(A(p,:),''r'');']); end %% Blablabla... fclose allIls seront tous ouverts avec les identifiants fid1, fid2, fid3, fid4, etc, etc...
Mais ta demande était de les lire un par un.
Comment écrire une boucle simple qui lirait les fichiers un par un des deux dossiers ?
Apparemment t'as moult dossiers aussi, sous Unix/Linux, tu peux passer tous les flags supportés par ton OS à la commande ls. Donc ls -R pour un listing récursif.
Pour Windows, je sais pas s'il y a moyen de faire ça rapidos, mais tu peux aller télécharger le Recursive directory listing sur le File Exchange de Mathworks :
https://www.mathworks.com/matlabcentral/fileexchange/19550-recursive-directory-listing
Bon après-midi
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
19 mars 2009 à 16:22
19 mars 2009 à 16:22
Et du coup, en référence aux précisions apportées dans ce sujet, un bidule de ce genre ferait l'affaire...
A=rdir('C:\2009\**\*.txt'); for p=1:size(A,1) fid=fopen(A(p).name,'r'); %% Traitement du fichier fclose(fid); endCiao
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
20 mars 2009 à 13:39
20 mars 2009 à 13:39
Salut
Pour débogage, relance le code avec ces petites modifications :
Pour débogage, relance le code avec ces petites modifications :
blablabla... A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt'); for p=1:size(A,1) disp(A(p).name) [fid message]=fopen(A(pbug).name,'r') blablabla...T'as quoi comme sortie écran ?
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
20 mars 2009 à 15:26
20 mars 2009 à 15:26
??? Undefined function or variable "pbug".
Error in ==> OuvertureFichier_3 at 7
[fid message]=fopen(A(pbug).name,'r')
aie...
Error in ==> OuvertureFichier_3 at 7
[fid message]=fopen(A(pbug).name,'r')
aie...
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
20 mars 2009 à 16:19
20 mars 2009 à 16:19
T'aurais pu corriger... ;-)
Le pbug restait d'une modif que j'ai faite dans mon message.
Le pbug restait d'une modif que j'ai faite dans mon message.
blablabla... A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt'); for p=1:size(A,1) disp(A(p).name) [fid message]=fopen(A(p).name,'r') blablabla...
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
23 mars 2009 à 09:11
23 mars 2009 à 09:11
Parfait, maintenant cela fonctionne (désolé, persuadé que pbug était une sorte de fonction caché de matlab que j'avais pas, en même j'aurais du m'en douter quand j'ai essayé de la chercher sur google et que j'ai rien trouvé).
Un bémol cependant, je pense que matlab ne reconnait pas cette forme : \test0*\ . Je voulais ouvrir en boucle tous les dossiers ayant le nom test01, test02 etc.. tant pis.
En tout merci bien sacabouffe
Un bémol cependant, je pense que matlab ne reconnait pas cette forme : \test0*\ . Je voulais ouvrir en boucle tous les dossiers ayant le nom test01, test02 etc.. tant pis.
En tout merci bien sacabouffe
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
23 mars 2009 à 10:56
23 mars 2009 à 10:56
De rien ;-)
Mais je comprends pas bien ton bémol, A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt'); te donne la liste de tous les fichiers d'extension .txt contenus dans les dossiers commençant par D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0, donc
D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test01
D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test02
etc...
C'est bien c que tu voulais faire, t'ouvres tout à la suite après ça...
À moins que tu parles d'utiliser la syntaxe en dehors de la fonction rdir, effectivement, elle est pas reconnue. :-(
À la prochaine
Mais je comprends pas bien ton bémol, A=rdir('D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0*\*.txt'); te donne la liste de tous les fichiers d'extension .txt contenus dans les dossiers commençant par D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test0, donc
D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test01
D:\Travail\DOSSIER_TEST\TEST_BOUCLE\test02
etc...
C'est bien c que tu voulais faire, t'ouvres tout à la suite après ça...
À moins que tu parles d'utiliser la syntaxe en dehors de la fonction rdir, effectivement, elle est pas reconnue. :-(
À la prochaine
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
23 mars 2009 à 14:22
23 mars 2009 à 14:22
Salut.
D'un certain coté, MATLAB n'est pas un shell, alors je trouve ça normal qu'il ne comprenne pas par défaut le caractère joker.
Pour précision, j'ai matlab6, et A=ls ne fonctionne pas. A=dir fonctionne, mais je me retrouve avec un tableau de structure à la con.
D'un certain coté, MATLAB n'est pas un shell, alors je trouve ça normal qu'il ne comprenne pas par défaut le caractère joker.
Pour précision, j'ai matlab6, et A=ls ne fonctionne pas. A=dir fonctionne, mais je me retrouve avec un tableau de structure à la con.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
23 mars 2009 à 15:27
23 mars 2009 à 15:27
Salut Char Snipeur
En fait, il le reconnaît. Mais sous Windows, c'est reconnu seulement pour des syntaxes simples comme ls *.m
Un truc du genre ls Data*/*.txt passera sous Linux mais pas sous Windows. En même temps, c'est un peu normal puisque cette syntaxe est pas reconnue par Windows lui-même.
Et le A=dir;, c'est pas une structure à la con ! :-D
La liste des fichiers est contenu dans A.name, comme pour rdir utilisé pour le listing récursif et récupéré sur le file exchange, c'est juste une extension du dir par défaut de Matlab. Enfin... si c'est pareil avec la version 6, mais vu que A=ls; marche pas, y a peut-être des différences pour le A=dir; aussi.
Bonne journée
En fait, il le reconnaît. Mais sous Windows, c'est reconnu seulement pour des syntaxes simples comme ls *.m
Un truc du genre ls Data*/*.txt passera sous Linux mais pas sous Windows. En même temps, c'est un peu normal puisque cette syntaxe est pas reconnue par Windows lui-même.
Et le A=dir;, c'est pas une structure à la con ! :-D
La liste des fichiers est contenu dans A.name, comme pour rdir utilisé pour le listing récursif et récupéré sur le file exchange, c'est juste une extension du dir par défaut de Matlab. Enfin... si c'est pareil avec la version 6, mais vu que A=ls; marche pas, y a peut-être des différences pour le A=dir; aussi.
Bonne journée
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
23 mars 2009 à 16:38
23 mars 2009 à 16:38
Oui, c'est ce que je voulais préciser : pour ma version 6.
A=dir, revoi un tableau de structure.
A(1) est une structure avec comme membre 'name' mais aussi, les attributs, les dates de modif, la taille.
Et je n'ai pas réussi à convertir cette structure simplement en tableau (l=A.name échoue).
Donc, voilà c'était juste pour compléter le message au cas où quelqu'un avec une vielle version tomberai dessus.
Si quelqu'un a le souci, il faut passer par des boucles.
A=dir, revoi un tableau de structure.
A(1) est une structure avec comme membre 'name' mais aussi, les attributs, les dates de modif, la taille.
Et je n'ai pas réussi à convertir cette structure simplement en tableau (l=A.name échoue).
Donc, voilà c'était juste pour compléter le message au cas où quelqu'un avec une vielle version tomberai dessus.
Si quelqu'un a le souci, il faut passer par des boucles.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
23 mars 2009 à 16:47
23 mars 2009 à 16:47
Je sais pas si avec ta version ça tournera, mais essaie ça ;-)
Si tu préfères l'avoir en tableau de cellules de caractères, un truc de ce genre devrait coller ;-)
A=dir; B=strvcat(A.name);Si tout se passe bien, tu devrais obtenir un tableau de caractères.
Si tu préfères l'avoir en tableau de cellules de caractères, un truc de ce genre devrait coller ;-)
A=dir; B={A.name};
Newenda
Messages postés
75
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
26 avril 2021
24
25 mars 2009 à 16:58
25 mars 2009 à 16:58
pas moyen...
A=rdir('D:\Travail\DOSSIER_TEST\HUGE_TEST\**\**\**\**\*.txt');
il ne lit rien et pourtant il y a bien des fichiers texte dans
D:\Travail\DOSSIER_TEST\HUGE_TEST\08\01\31\17
??
A=rdir('D:\Travail\DOSSIER_TEST\HUGE_TEST\**\**\**\**\*.txt');
il ne lit rien et pourtant il y a bien des fichiers texte dans
D:\Travail\DOSSIER_TEST\HUGE_TEST\08\01\31\17
??
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 835
25 mars 2009 à 18:14
25 mars 2009 à 18:14
Salut
La syntaxe est celle-ci de toute façon :
La syntaxe est celle-ci de toute façon :
A=rdir('D:\Travail\DOSSIER_TEST\HUGE_TEST\**\*.txt');Ciao
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
26 mars 2009 à 12:44
26 mars 2009 à 12:44
Pour reprendre le message fermé. Où est le problème de stocker 10.000 noms dans A grâce à rdir ?
Je pense qu'il faudrait que tu apprennes à utiliser l'aide de MATLAB, il existe plein de fonctions diverses et varié, et je suis sur qu'en cherchant un peu tu trouverai.
Par exemple en moins d'une minutes, sur www.mathworks.com j'ai trouvé la fonction "exist" qui permet de tester si un fichier existe (entre autre), et qui pourrait t'aider dans tes boucle si rdir te rebute à ce point là.
Je pense qu'il faudrait que tu apprennes à utiliser l'aide de MATLAB, il existe plein de fonctions diverses et varié, et je suis sur qu'en cherchant un peu tu trouverai.
Par exemple en moins d'une minutes, sur www.mathworks.com j'ai trouvé la fonction "exist" qui permet de tester si un fichier existe (entre autre), et qui pourrait t'aider dans tes boucle si rdir te rebute à ce point là.
Modifié par de le 24/05/2013 à 11:30
Avec dirName le nom du répertoire entrée;
On recupère en sortie noofiles : le nombre de fichier qui il y a dans le répertoire et garb: le nombre de répertoire
if dirName==0
fileSorted=[];
disp(' Empty directory ');
else
D=dir(dirName);
[nooffilesf garb]=size(D);
fileX = [];
for i=3:nooffilesf
% this assumes that the first and second are . and ..
% uncomment the if statement below if you want to select only
% filenames starting with some characters say 'im' in this example
% similarly we can have a condition to check if the files end in
% say .dcm
fileX(i-2).name = D(i).name;
end
[garb nooffiles]=size(fileX);