Matlab如何添加当前工作目录下级文件夹路径实现脚本可移植
Matlab跨设备通用相对路径添加方案
实现代码
直接将以下代码添加到file2.m的开头即可:
% 获取当前运行的file2.m所在文件夹的绝对路径(对应目录结构中的M/B) curr_folder = fileparts(mfilename('fullpath')); % 拼接得到A文件夹的路径,自动适配不同系统的路径分隔符 A_folder = fullfile(curr_folder, '..', 'A'); % 将A文件夹加入Matlab搜索路径 addpath(A_folder);
原理解释
mfilename('fullpath')会自动返回当前正在执行的m文件的完整绝对路径,不受用户启动Matlab时的工作目录影响fileparts()用于提取完整路径中的文件夹部分,直接得到file2.m所在的B文件夹路径fullfile()会自动适配Windows、macOS、Linux的路径分隔符,跨平台兼容- 路径中的
..是通用的上级目录标识,从B文件夹向上退一层就到根目录M,再进入A文件夹即可准确定位,整套脚本拷贝到任意设备都可以正常运行
可选扩展
如果需要一次性添加A文件夹下所有子目录的路径,可以将最后一行替换为:
addpath(genpath(A_folder))
内容的提问来源于stack exchange,提问作者Ryszard Eggink
相关产品推荐
相关产品推荐

