Removing subfolders with same name
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nadeau Hahne
el 2 de Abr. de 2021
Comentada: Nadeau Hahne
el 6 de Abr. de 2021
I have a series of folders with unique names but the sub folders have the same names:
Folder 1
Subfolder A
Subfolder B
Folder 2
Subfolder A
Subfolder B
How do I loop through all the folders to delete all of the Subfolder B's?
2 comentarios
Jan
el 2 de Abr. de 2021
You can do this easily in the explorer also, if you are working with Windows.
Respuesta aceptada
Jan
el 2 de Abr. de 2021
BaseFolder = 'C:\Parent\Folder'
List = dir(fullfile(BaseFolder, '**', 'Folder B'));
List = List([List.isdir]);
List(strcmp({List.name}, '..')) = [];
for k = 1:numel(List)
disp(List(k).folder)
% Check this twice before you uncomment this:
% rmdir(List(k).folder);
end
4 comentarios
Jan
el 3 de Abr. de 2021
The '..' is a char vector. DIR replies '.' as pointer to the current folder and '..' for the parent folder.
List(strcmp({List.name}, '..')) = [];
To find out, what this does, evaluate it in parts:
{List.name}
strcmp({List.name}, '..')
List(strcmp({List.name}, '..'))
The " = []" is Matlab's method to delete elements. The complete line removes all elements of the List, if their name is '..' .
If the folders are not empty, ue the 's' flag:
rmdir(List(k).folder, 's');
Más respuestas (0)
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!