Matlab將文件分類移動到不同文件夾中


一個文件夾中有很多后綴名一樣的文件,比如說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;%得cell時間數組
end

fileFolder=fullfile('E:\1SMAPDATA\MOD11A1_test');%需要分類的tiff文件所在的文件夾
dirOutput=dir(fullfile(fileFolder,'*.tif')); %把tiff文件列舉出來
fileNames={dirOutput.name}'; %得到tiff文件的名字數組

for i = 1:length(oldName) %遍歷每一個文件夾的名字
    for j=1:length(fileNames)    %遍歷每一個tiff文件
    mid=strsplit(fileNames{j},'.'); %使用'.'分隔符對tiff文件名進行分隔
    if strcmp(char(mid(2)),oldName{i})  %取第二個分隔字段和文件夾的名字進行比較
        DST_PATH_t = [filePath ,'\',oldName{i},'\'];%對應文件夾的完整路徑  
        movefile([fileFolder,'\',fileNames{j}],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中

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM