help with "dir" command

3 vues (au cours des 30 derniers jours)
ludvikjahn
ludvikjahn le 25 Fév 2015
Modifié(e) : Stephen23 le 25 Fév 2015
good morning I have a problem with the command "dir":
I want to find some files which names are f.e. : 10.txt,11.txt,12.txt, etc. and list them within a cell or an array
I tried with this:
for i=10:20
file = dir(fullfile(open_folder, ['*' i '*' '.txt']))
end
neither
file(i) = dir(fullfile(open_folder, ['*' i '*' '.txt']))
works (mismatched dimension or something similar).
the resulting structure is just the file with the last numerical value (i.e. '20.txt' in this case)
is there a possibility to have a cell, or a matrix with all the files found?
Thanks

Réponse acceptée

Image Analyst
Image Analyst le 25 Fév 2015

Plus de réponses (1)

Stephen23
Stephen23 le 25 Fév 2015
Modifié(e) : Stephen23 le 25 Fév 2015
Rather than doing this in a loop, why not use dir 's ability to return multiple matches:
out = dir(fullfile(open_folder,'*.txt'))
This is much neater, faster, and less likely to have bugs than trying to do this in a loop. The usage of fullfile is good code though, so we will keep that!
If required you can sort/filter the strings in out as well, to remove other files that you do not want. You could use regexp for this.
  2 commentaires
ludvikjahn
ludvikjahn le 25 Fév 2015
Modifié(e) : ludvikjahn le 25 Fév 2015
The problem is that I have a database of many Gigabytes of files '.txt' where I have to sort them and I wanted to extract only those referred to a short period of time.
Image Analyst
Image Analyst le 25 Fév 2015
The sorting takes place inside the loop? What sort of sorting are you doing (no pun intended)?

Connectez-vous pour commenter.

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by