基于文件扩展名启动Matlab脚本

时间:2013-06-12 09:59:05

标签: matlab

您好我正在尝试创建一个matlab脚本,它读取目录中的所有文件,并为每个文件扩展名启动不同的命令。 我有:

teqc1.azi
teqc1.ele
teqc1.sn1
teqc2.azi
teqc****

我需要的是脚本读取文件并以递归方式启动命令:

`teqc1.azi -> plot_compact_2(teqc1.azi)`
`teqc1.ele -> plot_compact_2(teqc1.ele)`
`teqc1.sn1 -> plot_compact_2(teqc1.sn1)`
`teqc****  -> plot_compact_2(teqc****)`

这就是我现在所要做的:

function plot_teqc


 d=dir('*'); % <- retrieve all names: file(s) and folder(s)
     d=d(~[d.isdir]); % <- keep file name(s), only
     d={d.name}.'; % <- file name(s)
     nf=name(d);
for i=1:nf

    plot_compact_2(d,'gps');
% type(d{i});
end

由于

1 个答案:

答案 0 :(得分:1)

然后你需要dir函数列出文件夹内容和fileparts函数来获取扩展名。

您还可以查看this question,了解如何获取目录中与特定掩码匹配的所有文件的列表。

所以:

% get folder contents
filelist = dir('/path/to/directory'); 
% keep only files, subdirectories will be removed
filelist = {filelist([filelist.isdir] == 0).name};

% loop through files
for i=1:numel(filelist)
    % call your function, give the full file path as parameter
   plot_compact_2(fullfile('/path/to/directory', filelist{i}));
end