moving folders main folder and then deleting the empty folders
4 views (last 30 days)
Show older comments
Hello,
I have one big folder, lets call "data", which has folders inside called 'person'.
Each "person" has specific folders, sometimes "SE1" and "SE3", sometimes SE1 and SE8, etc...,
except, i have hundreds of people
I want to put these SE1 folders into just "data" and remove the original folders they were held inside
how can I make such a script?
thank you!!
Answers (1)
Sourabh Kondapaka
on 11 Feb 2021
Approaching this in a similar fashion to your question answered here
Code:
pathToData = fullfile(pwd, 'data');
dataFolder = dir(pathToData);
dirFlags = [dataFolder.isdir];
subFolders = dataFolder(dirFlags);
subFolders = subFolders(3:length(subFolders));
for k = 1 : length(subFolders)
person = subFolders(k).name;
personSubFolder = dir(fullfile(pathToData, person));
personSubFolder = personSubFolder(3:length(personSubFolder));
for j = 1: length(personSubFolder)
seFolder = personSubFolder(j).name;
srcFolder = fullfile(pathToData, person, seFolder);
destFolder = fullfile(pathToData, seFolder);
movefile(srcFolder, destFolder);
% fprintf('\n \n ------------- Moving from ---------- \n \n');
% disp(srcFolder);
% fprintf('\n \n To \n \n');
% disp(destFolder);
end
%Removing the person folder after moving all the folders within it into
%Data folder
rmdir(fullfile(pathToData, person));
end
Initial Folder Structure:

After executing the above script:

A similar question has been answered here
You can take the free course Matlab OnRamp
Note: As your query was simple enough, a for-loop approach was sufficient. If you need to achieve something much more complicated than this, please read up about Recursion, Backtracking
0 Comments
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!