To change Current Folder to the folder of .m File

375 views (last 30 days)
Afz on 16 Apr 2013
Answered: Diaa on 15 May 2021
How can I change the current folder to folder of .m file in my code.
Possibly with cd command
Or any command I can indicate that my excel file is in same location as .m file.
e.g. code.m path folder\My excel file.xls

Answers (4)

Image Analyst
Image Analyst on 17 Apr 2013
Edited: Image Analyst on 17 Apr 2013
Here's some code I got from Brett Shoelson of the Mathworks:
% Change the current folder to the folder of this m-file.
Edit: Note that the isdeployed is important if you will be compiling and deploying your application. This let's it operate both for you, as the developer, and for your deployed application where it will skip the cd because doing cd like that in a deployed app can wreak havoc. If you won't be doing compiling, then you can do just the cd without the if.
  1 Comment
Diaa on 10 Apr 2020
If I have a live script on the MATLAB online drive inside some subfolder, what should I write to change the working directory to that of the live script since
doesn't work for live scripts on the online drive?
My workaround is to copy/paste your code inside an m-file in the same subfolder and call it at the very first line of my live script, however, I would like to have a neat solution.

Sign in to comment.

Florian on 13 Jul 2018
mfile_name = mfilename('fullpath');
[pathstr,name,ext] = fileparts(mfile_name);

Diaa on 15 May 2021
For live scripts, @Qi Wang suggested using this:
to get the full path of the active live script file.

Matt Kindig
Matt Kindig on 17 Apr 2013

Community Treasure Hunt

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

Start Hunting!