listing folders in directory with specific strings
70 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jorge Rivé
el 16 de Ag. de 2018
Editada: Jorge Rivé
el 17 de Ag. de 2018
I have a directory full of folders. I want to only list (and count) those with a specific naming format that starts with a numerical string and not any other folders in that directory. How can I do this? for example: FolderA contains these subfolders
180705-France, 180705-Germany, refdata
I want to list and count only the folders under folder A that start with a numeric string. In this case, the list should return '180705-France' and '180705-Germany', and a length(dirlist) should return 2.
something like,
pathn =['D:\FolderA'];
list= dir([pathn '\1*']);
len =length(list);
would work, but I need it to work for any folder whose name begins with numbers 0-9.
I tried using regexp but couldn't figure out how to get it to work. If I figure it out, I'll post it here, but I'm sure someone already knows how to do this....thanks.
2 comentarios
Stephen23
el 17 de Ag. de 2018
Editada: Stephen23
el 17 de Ag. de 2018
Note that these square brackets do nothing at all:
pathn =['D:\FolderA'];
Square brackets are a concatenation operator, and that code is not concatenating anything together (the char vector is already a char vector). All that is needed is:
pathn = 'D:\FolderA';
Respuesta aceptada
Paolo
el 16 de Ag. de 2018
Editada: Paolo
el 16 de Ag. de 2018
You can work around it with a dos command:
[status,cmdout] = dos("dir *")
list = regexp(cmdout,'\d{6}-[A-Za-z]+','match');
len =length(list);
or alternatively:
s = dir;
list =regexp({s.name},'\d{6}-[A-Za-z]+','match');
len = length(find(~cellfun(@isempty,list)));
1 comentario
Más respuestas (1)
Fangjun Jiang
el 16 de Ag. de 2018
dir() does not have the regexp option. I can think of this way
a=dir;
b=char({a([a.isdir]).name});
len=sum(isstrprop(b(:,1),'digit'))
0 comentarios
Ver también
Categorías
Más información sobre File Operations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!