% 大致思路如下:
% 遍历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部分提出来