循环具有特定扩展名的文件

时间:2015-11-02 12:13:49

标签: matlab loops filenames

我需要在循环中打开许多文件,扩展名相同。 示例文件名为:c1_p1_t_r.mat,c1_p3_t_r.mat,c1_p6_t_r.mat,c1_p7_t_r.mat,c1_p10_t_r.mat等。

所以基本上,文件名的第一部分和最后部分是相同的,但中间的东西会发生变化。

我尝试过:

Ext = 'c1_*t_r*.mat';
files = dir(Ext);

但它不起作用。任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用files = dir('*.Ext');您需要使用撇号将其作为字符串传递,将星号作为文件名的通配符传递。我认为这里传递多个星号是个问题。您可以尝试将变量名称创建为完整字符串,以防它们尽可能相似:

for ii = 1:NumberOfFiles
    filename = sprintf('c1_p%dt_r.mat',ii);
    %//load file with created name
end

答案 1 :(得分:0)

查看您分享的文件名,应使用c1*t_r.mat而不是c1*t_r*.mat