list names in an array
조회 수: 17 (최근 30일)
이전 댓글 표시
I have many files that i want to list their names in an array but the name is full for example
F:\New\checkfiles\C100.csv
댓글 수: 5
the cyclist
2019년 6월 13일
It would be handy if dir took an argument, allowing specification of the full path in the output. It seems like this would be a common enough thing to want to do.
Adam Danz
2019년 6월 13일
Agreed. I suggested testing d.name because the OP stated that it was only returning file name when it should be returning the file extension as well.
답변 (2개)
Guillaume
2019년 6월 13일
A lot simpler than all that has been suggested:
foldercontent = dir('C:\somewhere\*.csv');
filelist = fullfile({foldercontent.folder}, {foldercontent.name}); %that's all that is needed.
As said, if a string array is needed, string will convert the cell array of char vectors into a string array
댓글 수: 4
the cyclist
2019년 6월 13일
I'm pretty sure there is a better, simpler way to do this, but I believe this does what you want:
s = dir;
fileList = cellfun(@(x,y)[x,'/',y],{s.folder}',{s.name}','UniformOutput',false);
댓글 수: 4
Adam Danz
2019년 6월 13일
"I'm pretty sure there is a better, simpler way..."
s = dir;
fileList = strcat({s.folder}',repmat({'/'},size(s)),{s.name}');
Stephen23
2019년 6월 14일
"I'm pretty sure there is a better, simpler way..."
S = dir(...);
F = cellfun(@fullfile,{S.folder}',{S.name}','uni',0);
Or simply:
F = fullfile({S.folder},{S.name});
참고 항목
카테고리
Help Center 및 File Exchange에서 File Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!