Matlab批量獲取子文件夾與文件名


批量得到父文件夾下所有子文件夾的路徑的MATLAB函數。
function [SubFolders] = GetFolders(ParentFolder)
%GetFolders 
% 函數功能為獲取父文件夾下所有子文件夾的路徑
% 函數的輸入為ParentFolder:父文件夾路徑。eg: 'D:\Program Files'
% 函數的輸出為SubFolders:子文件夾路徑。為一個元胞數組,eg: {'D:\Program Files\FileZilla FTP Client\docs'}
 
SubFolderNames = dir(ParentFolder);
for i=1:length(SubFolderNames)
        if( isequal( SubFolderNames( i ).name, '.' )||...
        isequal( SubFolderNames( i ).name, '..')||...
        ~SubFolderNames( i ).isdir) % 如果不是目錄則跳過
            continue;
        end
        SubFolder(i).SubFolderName = fullfile( ParentFolder, SubFolderNames( i ).name );
end

temp = {SubFolder.SubFolderName};
idx = cellfun(@(x)~isempty(x),temp,'UniformOutput',true); % 利用cellfun函數得到元胞數組中所有非空元素的下標
SubFolders = temp(idx);

end

批量得到文件夾下某一類型的所有文件名的MATLAB函數。

function [FileNames] = GetFileNames(Path,Format)
% GetFileNames 
% 函數的功能為獲得某一路徑下,某種格式所有文件名
% 函數的輸入1為Path,要獲取的路徑。eg: 'D:\Program Files\FileZilla FTP Client\docs'
% 函數的輸入2為Format,要獲取路徑的文件格式。eg: '*.txt','*.docx','*.png'

fileFolder=fullfile(Path); 
dirOutput=dir(fullfile(fileFolder,Format));
FileNames={dirOutput.name};

end

利用上面兩個函數,結合實際問題,利用循環便可實現文件夾嵌套情況下的文件名批量獲取




免責聲明!

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



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