获取Matlab

时间:2015-11-12 12:52:21

标签: matlab

我正在尝试获取project_dirs中所有子文件夹的绝对路径。

project_dirs='D:\MPhil\Model_Building\Models\TGFB\Vilar2006\SBML_sh_ver\vilar2006_SBSH_test7\Python_project3_IQM_project';
all_project_dirs=dir(project_dirs)
for i=all_project_dirs,
    full_dir=fullfile(project_dirs,i.name)

上面的代码给出了连接在一起的所有子文件夹目录的单个字符串。如何修改代码以获取这些绝对路径的单元格数组?

2 个答案:

答案 0 :(得分:3)

有一个功能:<dropdown items="assetTypesData" text="name" value="id"></dropdown> 。它将以字符串递归地为您提供所有目录,由genpath()分割。使用:来解析结果。

答案 1 :(得分:1)

你可以这样做:

all_project_dirs = {all_project_dirs([all_project_dirs.isdir]).name};

工作原理:

  1. 这在all_project_dirs的元素中选择那些是目录;
  2. 从中获取name字段;
  3. 该字段的值连接到单元格数组中。
  4. 您可能希望删除前两个目录名称,这两个名称始终为'.''..'

    all_project_dirs = all_project_dirs(3:end);
    

    要获取完整路径,您可以使用strcat

    all_project_dirs = strcat(project_dirs, filesep, all_project_dirs);
    

    或者,正如Jørgen所建议的那样,使用fullfile

    all_project_dirs = fullfile(project_dirs, all_project_dirs);