Display file names from current directory if more than n characters

조회 수: 1 (최근 30일)
Dobs
Dobs 2021년 11월 30일
댓글: Dobs 2021년 11월 30일
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
Stephen23
Stephen23 2021년 11월 30일
편집: Stephen23 2021년 11월 30일
"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 2021년 11월 30일
편집: Dobs 2021년 11월 30일
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen23
Stephen23 2021년 11월 30일
편집: Stephen23 2021년 11월 30일
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)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by