Clear Filters
Clear Filters

How can I move the 'pathdef.m' file from its default location to another location?

173 views (last 30 days)
I would like to put my 'pathdef.m' path file in an arbitrary directory instead of the default directory.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 21 Aug 2024
Edited: MathWorks Support Team on 21 Aug 2024
By default, the 'pathdef.m' file is located in the '<matlabroot>/toolbox/local' directory, where <matlabroot> is the directory displayed after entering the following command in the MATLAB Command Window:
>> matlabroot
Another possible, supported location for 'pathdef.m' may be the userpath, where userpath is the directory displayed after entering the command in the MATLAB Command Window:
>> userpath
To move the 'pathdef.m' file from its default location to another location, it can be manually copied from this directory and placed in an arbitrary directory, or you can call 'savepath' with an input argument that specifies the full path:
>> savepath folderName/pathdef.m
In order for MATLAB to use the copied 'pathdef.m' file at initialization, create a MATLAB file titled 'startup.m' and place it in the userpath folder. Copy the lines of code below to the file. If a 'startup.m' file already exists in userpath, add the lines of code to the end of the file:
% save starting directory startdir = pwd; % specify arbitrary directory containing pathdef.m pathdir = '<MODIFIED_PATH>'; % change directory so that target 'pathdef.m' has highest precedence % in the MATLAB search path cd(pathdir) % set the MATLAB search path using PATH path(pathdef) % change directory back to the starting directory cd(startdir)
Make sure to modify the string marked "MODIFIED_PATH" in the above code to the directory to which the 'pathdef.m' file was copied. The 'startup.m' script will be automatically executed upon MATLAB initialization.
 
WARNING: If you intend to use multiple MATLAB releases, do not use "startup.m" to relocate "pathdef.m."
"pathdef.m" is unique to each release, whereas "startup.m" is shared across all releases. Following the workflow outlined above will result in loading the same "pathdef.m" file for every release, potentially leading to conflicts.
If your end goal is to add custom paths to MATLAB's search path, you can write the commands below in your "startup.m" instead:
addpath('customPath1', 'customPath2', ... % ... 'customPathN')
where "customPathX" represents the specific paths you wish to add.

More Answers (0)

Categories

Find more on Search Path 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!