matlab-遞歸解壓文件夾下的所有子文件包括其子文件下面的gz文件
%% 遞歸解壓文件夾下的所有子文件包括其子文件下面的gz文件
function unzipGzfiles(folder)
? ? %拿到文件名字
? ? contents=dir(folder);
? ? contents=contents(~ismember({contents.name},{'.','..'})); %% 去掉文件夾下面的..和.
? ? %遍歷文件名字
? ? for i=1:numel(contents)
? ? ? ? item=contents(i);
? ? ? ? itemPath=fullfile(folder,item.name);
? ? ? ? %檢查是否為文件并排除..和.
? ? ? ? if item.isdir && ~strcmp(item.name,'.') && ~strcmp(item.name,'..')
? ? ? ? ? ? unzipGzfiles(itemPath);
? ? ? ? elseif ~isempty(strfind(item.name,'.gz')) %% 判斷字符串中是否包含某個(gè)字符,可以用contains
? ? ? ? ? ? fprintf('解壓文件:%s\n',itemPath)
? ? ? ? ? ? gunzip(itemPath)
? ? ? ? end? ? ? ??
? ? end
end
標(biāo)簽: