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