首页 > 移动平台 > 详细

Matlab将文件分类移动到不同文件夹中

时间:2020-03-09 22:39:17      阅读:161      评论:0      收藏:0      [点我收藏+]

一个文件夹中有很多后缀名一样的文件,比如说tiff文件,想根据命名中的分类规律分别把这些文件移动到不同的文件夹中进行归类。

原始文件:

技术分享图片

 分别想要放到这四个文件夹中:

技术分享图片

clc
clear all

filePath = ‘E:\1SMAPDATA\MOD11A1_test\Category‘;%四个文件夹的上一级文件夹
files = dir(filePath);
oldName = cell(length(files)-2,1);
for i = 3:length(files)
    oldName{i-2} = files(i).name;%得c组
end

fileFolder=fullfile(‘E:\1SMAPDATA\MOD11A1_test‘);%需要分类的tiff文件所在的文件夹
dirOutput=dir(fullfile(fileFolder,‘*.tif‘)); %把tiff文件列举出来
fileNames={dirOutput.name}‘; %得到tiff文件的名字数组

for i = 1:length(oldName) %遍历每一个文件夹的名字
    foldpath=char(oldName{i}); %转为char类型
    for j=1:length(fileNames)    %遍历每一个tiff文件
    charpath=char(fileNames(j)); %转为char类型
    mid=strsplit(charpath,‘.‘); %使用‘.‘分隔符对tiff文件名进行分隔
    if strcmp(char(mid(2)),foldpath)  %取第二个分隔字段和文件夹的名字进行比较
        DST_PATH_t = [filePath ,‘\‘,foldpath,‘\‘];%对应文件夹的完整路径  
        movefile([fileFolder,‘\‘,charpath],DST_PATH_t); %移动tiff文件到文件夹 注意这里都是完整路径
    end
    end  
end

结果:

技术分享图片

另外:

%  假设当前文件夹中有: 文件夹1,文件1.txt, 文件2.txt
movefile(‘1.txt‘, ‘11.txt‘);  %把1.txt剪切成11.txt,1.txt不存在了,实际上相当于改名
copyfile(‘2.txt‘, ‘22.txt‘);  % 把2.txt复制成22.txt,2.txt依然存在
movefile(‘11.txt‘, ‘1‘); % 把11.txt剪切到文件夹1中

  

 

Matlab将文件分类移动到不同文件夹中

原文:https://www.cnblogs.com/icydengyw/p/12451851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!