基于Matlab实现文件归档

下图是具体的问题描述:M开头的tif是电镜扫描图。M1、M2代表样本名称,1000代表分别率,现需要把分辨率相同的图片放到对于分辨率的文件夹中。


问题描述

1. 问题关键步骤:

  1. 利用mkdir函数建立文件夹;
  2. 利用exist检测文件夹是否存在;
  3. 利用dir遍历文件夹中的tif文件;
  4. 利用movefile进行文件的移动;
  5. 利用'.'代表相对路径;
  6. 将所有的分辨率倍数放到一个元胞中,用unique进行去重;

2. 实现代码

% 名称去重
file=dir('*.tif');
Name={};
for i=1:length(file)
    name=file(i).name
    Name{i}=name(4:8); %提取图片分别率
end
Name=unique(Name); %进行元胞元素去重


%新建文件
for ii=1:length(Name)
    if ~exist(Name{ii}) %检测是否存在
        mkdir(Name{ii})
    end
end

%文档归类
file=dir('*.tif');
for i=1:length(file)
    name=file(i).name
    name=name(4:8);
    if name=="00500"
        movefile(file(i).name,['.\00500\',file(i).name]); %进行文件转移
    elseif name=="01000"
        movefile(file(i).name,['.\01000\',file(i).name]);
    elseif name=="05000"
        movefile(file(i).name,['.\05000\',file(i).name]);
    else
        movefile(file(i).name,['.\10000\',file(i).name]);
    end
end

3. 实现效果

实现效果

欢迎就具体问题讨论学习。
Email:[email protected]

你可能感兴趣的:(基于Matlab实现文件归档)