MATLAB: Count another directory subfolder

counter folder

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

Best 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