如何在MATLAB中循环遍历一组不同类型的文件

xu3bshqb  于 2022-11-24  发布在  Matlab
关注(0)|答案(1)|浏览(166)

我有一组文件在一个文件夹中,我想转换为不同的类型使用MATLAB,即为每个文件在这个文件夹中做“x”。
我看到的答案建议使用“dir”函数创建一个包含所有文件作为元素的结构(Loop through files in a folder in matlab)。但是,此函数要求指定文件类型(.csv,.txt等)。我要处理的文件来自一台非常旧的显微镜,文件后缀为.000,.001,.002,所以我不能使用其他地方建议的解决方案。
有人知道我如何解决这个问题吗?这是我第一次使用MATLAB,所以任何帮助都将不胜感激。一切顺利!

6yoyoihd

6yoyoihd1#

正如Beaker和Ander Biguri所建议的那样,您可以通过获取所有文件,然后进行排序来实现这一点。
下面是相关代码,其中包含内嵌的说明:

baseDir = 'C:\mydir';

files = dir(baseDir);
files( [ files.isdir] ) = [];   % This removes directories, especially '.' and '..'.

fileNames = cell(size(files));  % In this cell, we store the file names.
fileExt   = cell(size(files));  % In this cell, we store the file extensions.
for k = 1 : numel(fileNames )
    cf = files(k);
    fileNames{k}      = [ cf.folder filesep cf.name];  % Get file name
    [~,~, fileExt{k}] = fileparts( cf.name );          % Get extension
end

[~,idx] = sort( fileExt );    % Get index to sort by extension
fileNames = fileNames( idx ); % Do the actual sorting

相关问题