dir() gives extra information

1 visualizzazione (ultimi 30 giorni)
monkey_matlab
monkey_matlab il 11 Nov 2016
Risposto: Walter Roberson il 11 Nov 2016
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?

Risposta accettata

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

Più risposte (1)

Image Analyst
Image Analyst il 11 Nov 2016
Modificato: Image Analyst il 11 Nov 2016
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.

Categorie

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

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by