0

您好我正在尝试创建一个 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

谢谢

4

1 回答 1

1

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

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

所以:

% 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
于 2013-06-12T10:10:36.560 回答