Display file names from current directory if more than n characters

1 visualización (últimos 30 días)
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 comentarios
Stephen23
Stephen23 el 30 de Nov. de 2021
Editada: Stephen23 el 30 de Nov. de 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 el 30 de Nov. de 2021
Editada: Dobs el 30 de Nov. de 2021
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 30 de Nov. de 2021
Editada: Stephen23 el 30 de Nov. de 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)

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by