Automatically take folder directories of one level up

114 Ansichten (letzte 30 Tage)
Muhammad Abir
Muhammad Abir am 13 Nov. 2020
Kommentiert: Muhammad Abir am 13 Nov. 2020
I have 3 folders of images. Now I want to enter into one folder and select that directory. Then I want matlab to go back to one level up and automatically select other two folder's directory. Is there any easirer way to do that?
Thanks in advance

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Nov. 2020
Try this:
[parentFolder, thisFolder] = fileparts(ImageFolder)
fileListing = dir(parentFolder) % List of everything: folders and files:
% Get a list of only the folders
areAFolder = [fileListing.isdir];
% Extract only those items that are folders, not files;
folderListing = fileListing(areAFolder)
% Just for fun, list all the folders that we found:
fprintf('Found these %d child folders of "%s" :\n', length(folderListing), parentFolder)
for k = 1 : length(folderListing)
thisFolder = fullfile(folderListing(k).folder, folderListing(k).name);
fprintf('%s\n', thisFolder);
end
Do not use addpath() ! !

Weitere Antworten (1)

Jon
Jon am 13 Nov. 2020
Bearbeitet: Jon am 13 Nov. 2020
You can specify the full path to the directories you want to open rather than changing the directory that MATLAB is running in. So keep MATLAB in the same directory and only change the path e.g. 'myDir1/mysubDir2/myfileA.ext' back of 'myDir1/myfileB.ext' to the file you want to open
  3 Kommentare
Jon
Jon am 13 Nov. 2020
That's fine, just specify the full path to where the data is for example
X = readmatrix('C:\TEMP\matlab\data01.csv')
or am I somehow not understanding your question?
Muhammad Abir
Muhammad Abir am 13 Nov. 2020
Actually the user will select the folder using the following code
ImageFolder = uigetdir('D:\', 'Select Image Directory');
addpath(ImageFolder);
files= dir(ImageFolder);
Once selected, matlab should get images from direcotry one level before. Let's say if user selects C:\Imagedata\Image, then if there is more folder in C:\Imagedata directory, like C:\Imagedata\gain, then once user selects C:\Imagedata\Image directory, Matlab should be able to get C:\Imagedata\gain directory automatically

Melden Sie sich an, um zu kommentieren.

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!

Translated by