Moving specific files to specific folders
Mostrar comentarios más antiguos
I can create new subfolders based on the first 3 letters of specific filenames with the script below.
cd '/Users/e_isbell/Documents/4y_GNG';
files = dir('*.set');
for i=1:length(files)
filename = files(i).name;
folder = filename(1:3);
mkdir('/Users/e_isbell/Documents/4y_GNG',folder);
end
However, I can't figure out how to move several files that start with those first 3 letters to the matching subfolders.
For instance, I have several files that has '150' for the first 3 letters (the following letters are different for each file). I want to create a subfolder that has these first 3 letters in its name (e.g. '150'), which I can do with the script above. Then I want to move all the files that start with '150' into the subfolder named '150'; all files that start with '155' into the subfolder named '155' and so on, looping through the folder.
Respuestas (2)
direc = dir; filenames = {};
[filenames{1:length(direc),1}] = deal(direc.name);
first3 = cellfun(@(x) x(1:3), filenames, 'Uni', 0);
mypath = '/Users/e_isbell/Documents/4y_GNG';
for f3 = unique(first3)
mydir = fullfile(mypath, f3);
mkdir(mydir)
movefile([f3 '*'], mydir)
end
Categorías
Más información sobre Whos en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!