Clear Filters
Clear Filters

Switching work-dir to location of *.m-file

1 view (last 30 days)
Hi there, I am fairly new to matlab, so excuse me if my question is trivial....
I have the following issue. I want to use a skript i use for several projects and which should used by several collegues via Subversion.
The script (Let call it Script A) is supposed to compile a few files and (If they are more recent) copy them in a sub-folder folder.
My problem is the following. The folder might be in different places in my collegues PCs, therefore i have to use relative paths to the compiler and the files. If i run the script in different places this works just fine. But if i want to get the newest version for my current project another script (Script B) is calling script A to check whether there is a new version, and ,if so, copy the compiled file to the project . As script B is running in the work-dir of the current project rather than in the dir of script A the relative paths don't fit anymore. The folder of Script A is in the search path of matlab and therefore can be called from the project. My first Idea is to switch to the dir. of script A execute it and then switch back to the work-dir of the project. The Question: Is there a command to change the current work-dir to the one of script A? Basically a command to get the actual folder of the *.m-file?
Thanks for all tips.

Accepted Answer

Fabian
Fabian on 12 Jun 2012
Thanks for the hint, pinted me in the right direction.. The solution is: "fileparts(which('func'))" gives you the path of func. "fileparts(which(mfilename))" gives you the current path of an m-file.

More Answers (1)

Walter Roberson
Walter Roberson on 11 Jun 2012
If it is a script and not a function, then you can use run() with a path; it changes directory in order to execute the script.
You can use which() to find out the path to a script or function.
  2 Comments
Avishek Dutta
Avishek Dutta on 12 Jun 2012
Hi all,
In this context I would like to ask if there is way to provide relative file names like "../test/data.txt" in dlmread.
Thanks

Sign in to comment.

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!