下图是具体的问题描述:M开头的tif是电镜扫描图。M1、M2代表样本名称,1000代表分别率,现需要把分辨率相同的图片放到对于分辨率的文件夹中。
1. 问题关键步骤:
- 利用mkdir函数建立文件夹;
- 利用exist检测文件夹是否存在;
- 利用dir遍历文件夹中的tif文件;
- 利用movefile进行文件的移动;
- 利用'.'代表相对路径;
- 将所有的分辨率倍数放到一个元胞中,用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:tust.xiamenglei@163.com