最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Matlab實現(xiàn)獲取文件夾下所有指定后綴的文件

 更新時間:2022年11月08日 08:52:20   作者:Toblerone_Wind  
這篇文章主要為大家詳細介紹了Matlab如何獲取文件夾下所有指定后綴的文件(包含子文件夾),文中的示例代碼講解詳細,感興趣的可以嘗試一下

1. 要求

獲取指定文件夾下(包含子文件夾),所有指定后綴(如txt)的文件路徑(即文件所在目錄+文件名),返回一個字符串數(shù)組。

2. 代碼

獲取C:/Users/Administrator/Desktop文件夾下(包含子文件夾)的所有.m文件

clear
dirOutput = dir('C:/Users/Administrator/Desktop/**/*.m');
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);

獲取C:/Users/Administrator/Desktop文件夾下(不包含子文件夾)的所有.m文件

clear
dirOutput = dir('C:/Users/Administrator/Desktop/*.m');
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);

封裝成函數(shù)。調(diào)用時若輸入兩個參數(shù),則默認搜索子文件夾

function filepath = getFilesPath(baseDir, ext, findSubfile)
if nargin == 2  % 判斷輸入的參數(shù)是否為2
    findSubfile = true;
end
if findSubfile
    dirOutput = dir([baseDir '/**/*.' ext]);
else
    dirOutput = dir([baseDir '/*.' ext]);
end
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);
end

調(diào)用方法

getFilesPath('C:/Users/Administrator/Desktop', 'm')

結(jié)果展示

3. 參考

未仔細學(xué)習(xí)dir()函數(shù)之前

本文介紹一種通過MATLAB獲取當前文件夾下所有文件名稱的方法,包含子文件夾內(nèi)的文件名稱,請參考。

主要用到的函數(shù)包括uigetdir()、dir()。

AidDir = uigetdir();     % 通過交互的方式選擇一個文件夾
if AidDir == 0             % 用戶取消選擇
    fprintf('Please Select a New Folder!\n');
else
    ParentFolder = dir(AidDir);    % 獲取當前文件夾下的信息
    AllFile = struct;            % 建立空結(jié)構(gòu)體
    AllFile = GetAllFile(ParentFolder,AllFile);
    if isempty(fieldnames(AllFile))
        fprintf('There are no files in this folder!\n');
    else    % 當前文件夾下有文件,反饋文件數(shù)量
        fprintf('Number of Files: %i \n',size(AllFile,2));
    end
end
function [AllFileStruct] = GetAllFile(ParentFolder,AllFile) 
AllFileStruct = AllFile;
if isempty(fieldnames(AllFile))
    FileNum = 0; % 用于統(tǒng)計文件數(shù)量
else
    FileNum = size(AllFileStruct,2);
end
try
    %從第3個開始是文件,如果報錯,則表明當前文件夾沒有文件,運行catch
    for i = 3:length(ParentFolder) 
        if ParentFolder(i).isdir == 1 % 當前是文件夾
            SubFolder = [ParentFolder(i).folder,'\',ParentFolder(i).name];
            Temp = dir(SubFolder);
            AllFileStruct = GetAllFile(Temp,AllFileStruct); % 函數(shù)遞歸
            FileNum = size(AllFileStruct,2);
        else
            FileNum = FileNum + 1;
            %通過結(jié)構(gòu)體可以存儲多種數(shù)據(jù),本文僅以文件名稱為例
            AllFileStruct(FileNum).name = ParentFolder(i).name; 
        end
    end
catch
end
end

最后通過查看AllFile變量即可獲取當前文件夾下所有文件名稱。

仔細學(xué)習(xí)dir()函數(shù)之后

先放代碼:

AidDir = uigetdir();     % 通過交互的方式選擇一個文件夾
if AidDir == 0             % 用戶取消選擇
    fprintf('Please Select a New Folder!\n');
else
    cd(AidDir)
    RawFile = dir('**/*.*'); %主要是這個結(jié)構(gòu),可以提取所有文件
    AllFile = RawFile([RawFile.isdir]==0);
    if isempty(fieldnames(AllFile))
        fprintf('There are no files in this folder!\n');
    else    % 當前文件夾下有文件,反饋文件數(shù)量
        fprintf('Number of Files: %i \n',size(AllFile,1));
    end
end

沒了。。。。不需要畫蛇添足。。。。

dir()函數(shù)以n×1結(jié)構(gòu)體數(shù)組形式返回,其中n是dir()函數(shù)返回的文件和文件夾的數(shù)量,下表中顯示了結(jié)構(gòu)體中的字段。

字段名稱說明
name文件或文件夾名稱char
folder文件或文件夾的位置char
date修改日期時間戳char
bytes文件大小(以字節(jié)為單位)double
isdir如果名稱為文件夾,則為1;如果名稱為文件,則為0logical
datenum修改日期是一個日期序列值double

提取指定擴展名的文件dir('**/*.m')

到此這篇關(guān)于Matlab實現(xiàn)獲取文件夾下所有指定后綴的文件的文章就介紹到這了,更多相關(guān)Matlab獲取指定后綴文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++如何用智能指針管理內(nèi)存資源

    C++如何用智能指針管理內(nèi)存資源

    這篇文章主要介紹了C++如何用智能指針管理內(nèi)存資源,幫助大家更好的理解和使用c++開發(fā),感興趣的朋友可以了解下
    2020-08-08
  • C++實現(xiàn)LeetCode(140.拆分詞句之二)

    C++實現(xiàn)LeetCode(140.拆分詞句之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(140.拆分詞句之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言面試常見考點排序總結(jié)

    C語言面試常見考點排序總結(jié)

    深處開發(fā)崗,其實排序也是繞不開的環(huán)節(jié),其中冒泡排序,選擇排序,插入排序,歸并排序,快速排序,堆排序也是我在秋招以來頻繁問到的技術(shù)點,今天我們來重點聊聊排序
    2021-11-11
  • C++ 中隨機函數(shù)random函數(shù)的使用方法

    C++ 中隨機函數(shù)random函數(shù)的使用方法

    這篇文章主要介紹了C++ 中隨機函數(shù)random函數(shù)的使用方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 淺談C++11中的幾種鎖

    淺談C++11中的幾種鎖

    本文主要介紹了C++11中的幾種鎖,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C/C++實現(xiàn)八大排序算法匯總

    C/C++實現(xiàn)八大排序算法匯總

    這篇文章主要為大家詳細介紹了C/C++實現(xiàn)八大排序算法匯總,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 基于Matlab實現(xiàn)繪制3D足球的示例代碼

    基于Matlab實現(xiàn)繪制3D足球的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Matlab實現(xiàn)繪制3D足球,文中的示例代碼講解詳細,對我們學(xué)習(xí)Matlab有一定幫助,需要的可以參考一下
    2022-11-11
  • C語言實現(xiàn)圖書管理系統(tǒng)

    C語言實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++超詳細分析順序表

    C++超詳細分析順序表

    程序中經(jīng)常需要將一組數(shù)據(jù)元素作為整體管理和使用,需要創(chuàng)建這種元素組,用變量記錄它們,傳進傳出函數(shù)等。一組數(shù)據(jù)中包含的元素個數(shù)可能發(fā)生變化,順序表則是將元素順序地存放在一塊連續(xù)的存儲區(qū)里,元素間的順序關(guān)系由它們的存儲順序自然表示
    2022-03-03
  • 如何在C++中實現(xiàn)按位存取

    如何在C++中實現(xiàn)按位存取

    實現(xiàn)緊湊存取,不是按一個字節(jié)一個字節(jié)地存取,而是按位存取,本文就是介紹了如何在C++中實現(xiàn)按位存取,需要的朋友可以參考下
    2015-07-07

最新評論

湄潭县| 长宁区| 南康市| 开封市| 社旗县| 辽源市| 古蔺县| 南宫市| 抚顺县| 洪洞县| 英山县| 新龙县| 阿合奇县| 依兰县| 鹿邑县| 天门市| 江阴市| 大荔县| 隆子县| 原平市| 温泉县| 景东| 东阿县| 治县。| 阿拉善左旗| 福贡县| 攀枝花市| 娄烦县| 马尔康县| 乌拉特后旗| 讷河市| 东港市| 安岳县| 台中市| 建昌县| 海口市| 贡山| 九龙城区| 始兴县| 治多县| 陆河县|