MATLAB Answers

How to check if a directory(folder) exists?

2,559 views (last 30 days)
Leonardo Wayne
Leonardo Wayne on 25 Mar 2016
Edited: Stephen Cobeldick on 11 Aug 2020
I am trying to create folders using mkdir, but if I have already created that folder, how do I check that before creating it. a = mkdir(directorylocation,text1) returns 1 in variable a if the directorylocation\text1 is created and if the directory exists. What is the function or condition that checks whether directorylocation\text1 exists

Accepted Answer

drummer
drummer on 20 Oct 2018
well, I suppose you want to create if it doesn't exist, after checking... so you could do it like that:
if ~exist(yourFolder, 'dir')
mkdir(yourFolder)
end
It basically check if youFolder does not exist. If that's true, it creates youFolder.
Cheers.

More Answers (2)

Cosmo
Cosmo on 4 Aug 2020
If you're using MATLAB R2017b or later, it's better to use isfolder rather than exist like so:
if not(isfolder(yourFolder))
mkdir(yourFolder)
end
  1 Comment
tjueterb
tjueterb on 11 Aug 2020
In case anyone else was wondering why this solution is better:
To check the existence of a file or folder, you also can use the isfolder or isfile functions. exist searches for files and folders on the search path, which can lead to unexpected results. isfolder and isfile search for files or folders only on the specified path or in the current folder, which can lead to clearer and faster results.
(copied from the exist documentation page)

Sign in to comment.


Stephen Cobeldick
Stephen Cobeldick on 25 Mar 2016
Edited: Stephen Cobeldick on 11 Aug 2020
Use exist like this:
7==exist(name,'dir') % check if folder exists
or
7~=exist(name,'dir') % check if folder does NOT exist
To avoid searching the entire MATLAB Search Path use an absolute file/folder name:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!