Display file names from current directory if more than n characters

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Stephen23
Stephen23 il 30 Nov 2021
Modificato: Stephen23 il 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 il 30 Nov 2021
Modificato: Dobs il 30 Nov 2021
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 30 Nov 2021
Modificato: Stephen23 il 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)

Più risposte (0)

Categorie

Scopri di più su File Operations in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by