Count another directory subfolder

Now I am in a script under "C:\User\Jason\MATLAB". In this script, I want to count how many subfolder in another directory 'C:\User\Jason\MATLAB\Days'. Now I write the code in the below to count, but only return 17, actually the subfolder is more than 100. Any solution to fix this bug? Thanks.
dir C:\User\Jason\MATLAB\Days'
length(dir)-2

 Accepted Answer

You don't assign the output of the first line to anything, so it's a wasted lines. The second line just call dir again but since you don't specify a directory, does it in the current directory (which, it looks like, has 17 files/folders).
Avoid using the command form of functions in scripts. Here is a clean way of doing it:
path = 'C:\User\Jason\MATLAB\Days';
dircontent = dir(path);
numfolders = sum([dircontent.isdir]) - 2; %-2 to account for the stupid '.' and '..' returned by dir

3 Comments

In your third line of code, Can I use
length(dircontent)-2
Is there any different with your third line of code with my length(dircontent)-2?
sum([dircontent.isdir])
only counts the subfolders, and ignores any files.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 9 Mar 2016

Commented:

on 11 Mar 2016

Community Treasure Hunt

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

Start Hunting!