Uigetdir to pick multiple directories
126 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I was wondering if anyone knows a simple way how to use uigetdir to select multiple directory paths in a similar way to using uigetfile with 'multiselect','on'
Thanks
0 comentarios
Respuestas (2)
Image Analyst
el 25 de Nov. de 2011
Not that I know of with uigetdir. However it could work if you searched your hard drive for directories and then listed them all in a very wide listbox where the user could click on multiple directory names right from the listbox. You could use genpath() to load up the listbox.
3 comentarios
Terry Furqan
el 20 de Mayo de 2020
i use this to create
root = uigetdir;
sd = genpath(root);
subdir = regexp(sd,';','split');
for k = 2:length(subdir)
F = dir(fullfile(char(subdir(k)), '*.csv')); %some process
end
Image Analyst
el 20 de Mayo de 2020
You don't need to do char(subdir(k)) -- you can simply do subdir{k} to get the contents of the cell. See the FAQ.
startingFolder = pwd;
root = uigetdir(startingFolder);
allSubfolders = genpath(root)
subFolders = regexp(allSubfolders, ';', 'split')
for k = 2 : length(subFolders)
% Get this subfolder.
thisSubFolder = subFolders{k};
% Get a list of CSV files in this subfolder.
theseFiles = dir(fullfile(thisSubFolder, '*.csv'));
fprintf('Found %d CSV files in %s.\n', length(theseFiles), thisSubFolder);
% Some process to use the files.
end
Also, to be clear, this code does not allow the user to specify multiple folders individually. It allows the user to pick a top level folder, and then ALL subfolders under that top folder are examined.
Ver también
Categorías
Más información sobre Environment and Settings 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!