基于文件名称整理分类移动至单独文件夹内
对于大量具有相同特性的文件名称,不想一个个移动、新建文件夹,例如下图,将相同姓名资料放入同一姓名文件夹,较为繁琐且无聊。
因此利用了些基础实用函数,整理下运用Matlab移动文件整理方法:
%% 清理缓存
clear all;close all
%% 按要求填入路径及文件名
path1='D:\WeChat\WeChat Files\wxid_sbzimsh4npxo22\FileStorage\File\2022-09'%改为学员出勤名单所在路径
namelist1='22SYPS0112_课节1_出勤考核成绩公示.xlsx'%改为出勤考核文件名
path2 = 'D:\桌面文件夹\2';%文件夹保存路径
path3 = 'D:\桌面文件夹\文件重命名';%审核资料文件路径
%% 运行
[num,txt,raw]=xlsread(strcat(path1,'\',namelist1))
for i=3:length(raw)
num_name(i-2)=strcat(raw(i,1),'+',raw(i,2))
end
for i = 1:length(num_name)
status=mkdir(path2,char(num_name(i))); % 在指定的文件路径下以变量名为名字创建新的文件夹
end
files = dir(path3);
oldName = cell(length(files)-2,1);
for i = 3:length(files)
oldName{i-2} = files(i).name;%得c组
end
for i=1:length(num_name)
mid2=strsplit(num_name{i},'+')
Mid1=cell(mid2(1))
Mid2=cell(mid2(2))
for j=1:length(oldName)
mid1=strsplit(oldName{j},'_'); %使用‘_‘分隔符对审查材料文件名进行分隔
if strcmp(char(mid1(2)),Mid2) %取第二个分隔字段和文件夹的名字进行比较
DST_PATH_t = [path2 ,'\',char(num_name{i}),'\'];
movefile([path3,'\',char(oldName(j))],DST_PATH_t);
end
endend
聊做笔记~