dir() gives extra information

조회 수: 1 (최근 30일)
monkey_matlab
monkey_matlab 2016년 11월 11일
답변: Walter Roberson 2016년 11월 11일
Hello, I wanted to just get the number of subfolders from a specific main folder. The main folder contains files, together with sub-folders. How do I get just the number of folders?
If I use
size(dir())
I get everything in the main folder. How to get just the number of sub-folders?

채택된 답변

Walter Roberson
Walter Roberson 2016년 11월 11일
MyFolderInfo = dir('myfolder');
mask = ismember({MyFolderInfo.name}, {'.', '..'});
MyFolderInfo(mask) = []; %get rid of . and .. directories
num_subfolder = sum( [MyFolderInfo.isdir] );

추가 답변 (1개)

Image Analyst
Image Analyst 2016년 11월 11일
편집: Image Analyst 2016년 11월 11일
Look up isdir() in the help. Hopefully it's obvious what to do from there.
Actually dir() tells you:
MyFolderInfo = dir('myfolder')
MyFolderInfo =
5×1 struct array with fields:
name
folder
date
bytes
isdir
datenum
See? The structure has an "isdir" field that flags whether or not the file returned is a folder or not.

카테고리

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

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by