Display file names from current directory if more than n characters

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 Comments

"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:
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

Sign in to comment.

 Accepted Answer

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)

More Answers (0)

Categories

Products

Release

R2021b

Asked:

on 30 Nov 2021

Commented:

on 30 Nov 2021

Community Treasure Hunt

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

Start Hunting!