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

 Respuesta aceptada

Guillaume
Guillaume el 9 de Mzo. de 2016
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 comentarios

Jason
Jason el 9 de Mzo. de 2016
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.
Jason
Jason el 11 de Mzo. de 2016
thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 9 de Mzo. de 2016

Comentada:

el 11 de Mzo. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by