How to change directory in a for loop
Show older comments
Hey Guys, I have a .mat file where I have written all the directories I will use. Lets say one of the directory is 'C:\Users\md\Desktop\A_I_001'. I want to make this directory changed in each iteration. so, the 'j' value will change in each time. How I can do that? Thanks in advance.
load tmp.mat; j='directory'; a = j; A =dir( fullfile(a, '*.png') );
Answers (1)
per isakson
on 27 Mar 2014
Edited: per isakson
on 27 Mar 2014
Load the mat-file content to a variable
S = load('tmp.mat');
Inspect S to learn how the folder names are stored. I can only guess and assumes that in the mat-file each folder name is in one string variable. If so this loop should work
for folder_name = transpose( fieldnames( S ) )
A = dir( fullfile( S.(folder_name{:}), '*.png' );
...
...
end
4 Comments
Md
on 27 Mar 2014
per isakson
on 27 Mar 2014
Edited: per isakson
on 28 Mar 2014
Yes, but those are the string values. There must be variable names of some kind! Run
S = load('tmp.mat')
and tell me what appears in the command window. Or run
clear
load('tmp.mat')
whos
Md
on 28 Mar 2014
per isakson
on 28 Mar 2014
Edited: per isakson
on 28 Mar 2014
tmp is a scalar, 1x1. What does
tmp{:}
show? And
S = load('tmp.mat')
?
Search a way to display the folder names in the command window and show the commands needed.
Categories
Find more on File Operations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!