Problem with making a new directory
43 views (last 30 days)
Show older comments
I created a code to save figures for each test for 5 subjects. It gives a warning that the subfolder already exists. So I tried to use if statements, and for the directory 'Data_examen1' it worked. But if I include making the subfolder also in my if-statement. It gives an error. I understand what's going wrong here... But I can't figure out how to get rid of the warning...
for welke_pp=1:5 % for 5 subjects
...
for i_testen=1:5 % for 5 measurements
...
if ((i_testen == 1) && (welke_pp == 1))
mkdir Data_examen1 %make new directory
end
mkdir('Data_examen1', sprintf('pp%d', welke_pp)); %hmake a new subfolder. Here is the warning.
folder = 'Data_examen1';
subfolder = sprintf('pp%d',welke_pp);
pngFileName = sprintf('3Dplot_subject%d_trial%d.png', welke_pp, i_testen);
fullFileName = fullfile([folder '\\' subfolder], pngFileName);
saveas(gcf,fullFileName); %save each figure
0 Comments
Accepted Answer
Image Analyst
on 29 Dec 2014
Just wrap your mkdir() in an if statement
if ~exist(folderName, 'dir')
% Folder does not exist so create it.
mkdir(foldername);
end
If it exists already, it won't do this and therefore won't throw an error.
3 Comments
Image Analyst
on 29 Dec 2014
It should if you specify the full path of the folder.
subFolder = sprintf('pp%d', welke_pp);
fullPath = fullfile(someRootFolder, subFolder);
if ~exist(fullPath , 'dir')
% Folder does not exist so create it.
mkdir(fullPath );
end
Your code probably actually did create the folder but in a location you were not expecting and did not look for or in. Do it my way and look at the fullPath value and see if it makes sense. Then use the debugger to see if it actually enters the "if" block.
More Answers (0)
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!