【记录】Matlab 遍历文件夹及所有子文件夹查找特定格式文件并调用exe处理

本文介绍了如何使用Matlab结合foreachDir函数遍历指定目录及其子目录,查找特定格式的文件,并调用外部exe程序进行处理。详细步骤和参考资料链接已提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

% 大致思路如下:
% 遍历track_data路径下所有文件,利用foreachDir函数,查到符合要求的文件,在这里是'w001001.adf'
% 目的是转换文件'w001001.adf'格式成.txt文件输入到track_out路径下
% 在track_out路径下查找是否已有改文件,若有,则跳出进行下一个文件转换,若没有,则继续
% 调用'gdal_translate.exe',转换格式
% 转换格式输入到track_out路径下
clc;
clear all;

track_data = 'F:\NED';
track_out = 'F:\NED_OUT';

inNames = foreachDir(track_data); % 待转换的文件集合(包含路径和名称)
% inNames: 1×m cell套1×1 cell

outFolder = fullfile(track_out);
dirOutput = dir(fullfile(outFolder,'*.txt')); % 输出在track_out路径下的文件为.txt格式
outNames = {dirOutput.name}; % 已输出在track_out路径下的文件集合(不包含路径,仅包含名称)
% outNames: 1×m cell

ExeFileName = 'gdal_translate.exe';
ExeFilePath = fullfile('C:\OSGeo4W64\bin\',ExeFileName);

for i = 1 : length(inNames)
    nameStr = inNames{i}{1}{1};
    % 【例子】两种格式:
    % F:\NED USGS\n17w094\grdn17w094_1\w001001x.adf
    % F:\NED USGS\USGS_NED_1_n61w152_ArcGrid\grdn61w152_1\dblbnd.adf
    nameSplit = strsplit(nameStr,'\'); % 将nameStr根据'\'分割
    subSplit = nameSplit{3}; % 分割后第3部分提出来
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值