Select specific files from subfolders
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Evelien van den Brekel
am 3 Mai 2021
Kommentiert: Evelien van den Brekel
am 7 Mai 2021
Hi! I performed experiments and want to plot certain experiments together in 1 plot. Every experiment is saved in a different subfolder of the "main folder". The subfolders are named after the codes of the experiments. Now I want the code to select for example the subfolders of tests C3, C6, C8 and C9 specifically. On internet I found how to select all the files of a certain extension in all the subfolders (filePattern = fullfile(pathname, '**/*.asc'));, but now I want the script to only look at a few subfolders. Does anyone know how this can be done?
2 Kommentare
Jonas
am 3 Mai 2021
i suggest you simply remove those entries which do not contain the folder names you are interested in
Bob Thompson
am 3 Mai 2021
It would also be possible to read in all of the subfolders, and then pick the ones you want based on some comparison. I.e. make a string array of the experiment codes you want, and just find those.
codes = {'C3','C6','C8','C9'};
filelist = dir(pathname);
filelist = filelist(ismember([filelist(:).name]==codes));
I don't think that bit is going to work right out of the gate, but it should give you an example of what I mean.
Akzeptierte Antwort
Jan
am 3 Mai 2021
Folder = 'C:\Your\Folder';
SubFolderList = {'C3', 'C6', 'C8', 'C9'};
for iSub = 1:numel(SubFolderList)
File = fullfile(Folder, SubFolderList{iSub}, 'YourFile.mat');
Data = load(File);
... what to do now?
end
Or:
DirList = dir('C:\Your\Folder\**\*.mat');
SubSet = {'C3', 'C6', 'C8', 'C9'};
FileList = fullfile({DirList(:).folder}, {DirList(:).name});
% Find all files, which contain '\C3\' or '\C6\', ...
Selected = contains(FileList, strcat(filesep, SubSet, filesep));
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!