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

 採用された回答

Guillaume
Guillaume 2016 年 3 月 9 日

0 投票

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 件のコメント

Jason
Jason 2016 年 3 月 9 日
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?
Stephen23
Stephen23 2016 年 3 月 9 日
sum([dircontent.isdir])
only counts the subfolders, and ignores any files.
Jason
Jason 2016 年 3 月 11 日
thanks

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeFile Operations についてさらに検索

質問済み:

2016 年 3 月 9 日

コメント済み:

2016 年 3 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by