Display file names from current directory if more than n characters

1 vue (au cours des 30 derniers jours)
Dobs
Dobs le 30 Nov 2021
Commenté : Dobs le 30 Nov 2021
Hi,
I want to write code that returns the filenames in my current directory, but only those filenames with more than n characters.
My code so far:
directory = dir('*.*'); % specifiy files, leave out folders
% remove the two '.' and '..' folders at the top
if length(directory) >= 3
directory = directory(3:end);
end
But how do I select only those filenames with more than n characters? I thought about setting up a logical vector, but I don't know how to do that. Does anybody have any suggestions?
Many thanks,
Dobs
  2 commentaires
Stephen23
Stephen23 le 30 Nov 2021
Modifié(e) : Stephen23 le 30 Nov 2021
"But how do I select only those filenames with more than n characters?"
Is that actually the goal, or is this really just your attempt to remove the dot directory names?:
Note that the dot directories are not guaranteed to be the first and second names returned, so your code already has a bug in it:
Dobs
Dobs le 30 Nov 2021
Modifié(e) : Dobs le 30 Nov 2021
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 30 Nov 2021
Modifié(e) : Stephen23 le 30 Nov 2021
n = 5;
P = 'absolute or relative path to where the files are saved';
S = dir(fullfile(P,'*.*'));
C = {S(~[S.isdir]).name}; % comma-separated lists
X = cellfun(@numel,C)>n;
C = C(X)

Plus de réponses (0)

Catégories

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

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by