Removing subfolders with same name

12 次查看(过去 30 天)
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 个评论
Jan
Jan 2021-4-2
You can do this easily in the explorer also, if you are working with Windows.
Nadeau Hahne
Nadeau Hahne 2021-4-2
编辑:Nadeau Hahne 2021-4-2
Thank you, I'm struggling to get comfortable with Matlab so I'm trying my best to learn

请先登录,再进行评论。

采纳的回答

Jan
Jan 2021-4-2
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 个评论
Jan
Jan 2021-4-3
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');
Nadeau Hahne
Nadeau Hahne 2021-4-6
Thank you!!! Trying to learn quickly and feeling like I'm drinking from a fire hose. Appreciate the help

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by