当前位置: 首页 > news >正文

MATLAB 批量移动 TIF 文件至分类文件夹

文章目录

  • 前言
  • 一、步骤
  • 二、代码


前言

本代码用于从指定的源文件夹 (sourceFolder) 中筛选所有 .tif 文件,并根据文件名的特定关键词(Daynight 和 FDI)将其分类移动到相应的目标文件夹 (targetDaynightFolder 和 targetFDIFolder)。


一、步骤

主要步骤如下:

定义源文件夹和目标文件夹:确保目标文件夹存在,不存在则创建。

获取所有 .tif 文件:扫描源文件夹,提取所有 .tif 格式的文件。

文件分类移动:

    若文件名包含 Daynight,则移动至 targetDaynightFolder 目录。

    若文件名包含 FDI,则移动至 targetFDIFolder 目录。

执行完成提示:程序运行完毕后,显示“所有文件已移动完成!”的提示信息。

注:代码中包含一段被注释掉的旧版本,该版本原本是按年份子文件夹筛选 .tif 文件再进行分类,而当前版本已简化为直接遍历源文件夹下的所有 .tif 文件,提高了效率。

二、代码

lc; clear; close all;

% 定义源文件夹(包含所有 tif 文件)
sourceFolder = 'CSV\sum\day\';

% 定义目标文件夹
targetDaynightFolder = '\daynight';
targetFDIFolder = '\FDI';

% 确保目标文件夹存在,如果不存在则创建
if ~exist(targetDaynightFolder, 'dir')
    mkdir(targetDaynightFolder);
end
if ~exist(targetFDIFolder, 'dir')
    mkdir(targetFDIFolder);
end

% 获取 sourceFolder 目录下的所有 tif 文件
tifFiles = dir(fullfile(sourceFolder, '*.tif'));

% 遍历所有 tif 文件
for j = 1:length(tifFiles)
    filePath = fullfile(sourceFolder, tifFiles(j).name); % 当前文件路径
    
    % 判断是 Daynight 还是 FDI 文件
    if contains(tifFiles(j).name, 'Daynight', 'IgnoreCase', true)
        movefile(filePath, fullfile(targetDaynightFolder, tifFiles(j).name));
    elseif contains(tifFiles(j).name, 'FDI', 'IgnoreCase', true)
        movefile(filePath, fullfile(targetFDIFolder, tifFiles(j).name));
    end
end

disp('所有文件已移动完成!');

% % 定义源文件夹(包含2000-2021年的子文件夹)
% sourceFolder = '\sum\day\';
% 
% % 定义目标文件夹
% targetDaynightFolder = '\daynight';
% targetFDIFolder = '\FDI';
% 
% % 确保目标文件夹存在,如果不存在则创建
% if ~exist(targetDaynightFolder, 'dir')
%     mkdir(targetDaynightFolder);
% end
% if ~exist(targetFDIFolder, 'dir')
%     mkdir(targetFDIFolder);
% end
% 
% % 获取所有年份文件夹
% yearFolders = dir(sourceFolder);
% yearFolders = yearFolders([yearFolders.isdir]); % 仅保留文件夹
% yearFolders = yearFolders(~ismember({yearFolders.name}, {'.', '..'})); % 去除无效目录
% 
% % 遍历每个年份文件夹
% for i = 1:length(yearFolders)
%     yearPath = fullfile(sourceFolder, yearFolders(i).name); % 该年份的完整路径
%     
%     % 获取该文件夹下的所有 tif 文件
%     tifFiles = dir(fullfile(yearPath, '*.tif'));
%     
%     % 遍历所有 tif 文件
%     for j = 1:length(tifFiles)
%         filePath = fullfile(yearPath, tifFiles(j).name); % 当前文件路径
%         
%         % 判断是 Daynight 还是 FDI 文件
%         if contains(tifFiles(j).name, 'Daynight', 'IgnoreCase', true)
%             movefile(filePath, fullfile(targetDaynightFolder, tifFiles(j).name));
%         elseif contains(tifFiles(j).name, 'FDI', 'IgnoreCase', true)
%             movefile(filePath, fullfile(targetFDIFolder, tifFiles(j).name));
%         end
%     end
% end
% 
% disp('所有文件已移动完成!');

相关文章:

  • C++对C的拓展-3.22笔记
  • 深入解析C++面向对象三大特性:封装、继承与多态v
  • SpringBoot+策略模式+枚举类,优雅消除if-else
  • HandyJSON原理
  • softmax回归的实现
  • gma 2.1.3 (2025.03.19) 更新日志
  • 计算机考研复试机试-考前速记
  • flink广播算子Broadcast
  • Docker一键部署OpenObserve打造低成本的云原生观测平台操作详解
  • 操作系统知识点35
  • 基于MLA的人类语音情感分类
  • centos 7 部署FTP 服务用shell 脚本搭建
  • Git的安装
  • 代理IP与AI的碰撞:网络安全新防线解码
  • 【Java全栈进阶架构师实战:从设计模式到SpringCloudAlibaba,打造高可用系统】
  • 爬虫逆向解决debugger问题
  • 【QA】QT事件处理流程是怎么样的?
  • 如何理解前端工程化
  • 蓝桥杯备考:差分算法之 语文成绩
  • 信号的产生和保存
  • 先去上海后赴北京,苏中城市泰州为何接连拥抱顶流“大城”?
  • 全国台联原会长杨国庆逝世,享年89岁
  • 秦洪看盘|资金切换主线,重构市场风格
  • 美航母撞船后又遇战机坠海,专家:长时间作战部署疲于奔命是主因
  • 中青旅:第一季度营业收入约20.54亿元,乌镇景区接待游客数量同比减少6.7%
  • 一场与纪录并行的伦敦马拉松,超40项新世界纪录诞生