Adding a pathdef.m file, as a string, to the current path

12 ビュー (過去 30 日間)
Charles Pace
Charles Pace 2021 年 3 月 5 日
コメント済み: Rik 2021 年 3 月 5 日
Hello,
I have saved a pathdef file ('pathdef_etc.m') which contains the paths that I need for a given project. I simply want to get the string output from this pathdef file, so that I can add it to my current path using 'addpath( path_string )'.
How can I get this pathdef file as a string?
Thank you
  2 件のコメント
Charles Pace
Charles Pace 2021 年 3 月 5 日
編集済み: Charles Pace 2021 年 3 月 5 日
I am looking for something like...
*from the directory containing the pathdef file*
display(pathdef.m),
so that I can type addpath(ans)
Walter Roberson
Walter Roberson 2021 年 3 月 5 日
What is the file format? Did you create it with savepath ?
Are the individual paths separated by colon or by newlines?
Is this for Windows or (not Windows) ?

サインインしてコメントする。

採用された回答

Jorg Woehl
Jorg Woehl 2021 年 3 月 5 日
You probably want to use textscan for this:
fileID = fopen('pathdef_etc.m')
C = textscan(fileID, '%s', 'Delimiter', '\n')
fclose(fileID)
The output is a single cell containing a n-by-1 cell array of character vectors (one per line in the input file). So C{1}{1} contains the first line of your file, C{1}{2} the second, and so on. You could then set up a loop to add each line to the path:
for i=1:size(C{1},1)
addpath(C{1}{i})
end
Hope this helps!
  3 件のコメント
Charles Pace
Charles Pace 2021 年 3 月 5 日
I just figured it out actually. It was really simple. I just needed to find the pathdef file in the explorer, right click -> 'run',
then the path appeared in command window as one really long string.. 'ans = path1, path2, etc .... '
then just addpath(ans).
Thank you for your help though.
Rik
Rik 2021 年 3 月 5 日
That suggests you can use this as well:
addpath(pathdef);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by