MATLAB遍歷子資料夾及其下檔案

2021-09-08 22:51:01 字數 1341 閱讀 1686

ref:

/maindir

|-- subdir1

|-- datafile1.dat

|-- datafile2.dat

|-- subdir2

|-- datafiel3.dat

|-- datafiel4.dat

|-- subdir3

|-- datafile5.dat

|-- datafile6.dat

主資料夾maindir下含有三個子資料夾,子資料夾分別包含兩個二進位制資料檔案

可以使用函式dir,d = dir(『directory_name』)返回乙個結構陣列,包含了資料夾directory_name下的子資料夾和子檔案的一些資訊,第1個成員是檔名,第4個成員表示是否為資料夾。

要注意的是第1個陣列元素和第2個陣列元素分別是』.』和』…』,表示當前目錄和上層目錄。

maindir = 'd:\matlab\project';

subdir = dir( maindir );

for i = 1 : length( subdir )

if( isequal( subdir( i ).name, '.' )||...

isequal( subdir( i ).name, '..')||...

~subdir( i ).isdir) % 如果不是目錄則跳過

continue;

endsubdirpath = fullfile( maindir, subdir( i ).name, '*.dat' );

dat = dir( subdirpath ) % 子資料夾下找字尾為dat的檔案

for j = 1 : length( dat )

datpath = fullfile( maindir, subdir( i ).name, dat( j ).name);

fid = fopen( datpath );

% 此處新增你的對檔案讀寫操作 %

endend函式uigetdir

由於前面maindir需要指定路徑,可能不是太方便。

使用uigetdir可以方便的通過對話方塊選擇資料夾,返回值為資料夾路徑名。**如下:

maindir = uigetdir( 『選擇乙個資料夾』 );

上面的例子比較簡單,只涉及到兩層目錄以及指定格式的檔案。

對於多層目錄,以及多種格式檔案的處理,則可以採用[matlab對資料夾的層次遍歷和深度遍歷](層次遍歷與深度遍歷兩種方法實現。具體操作及例子見連線matlab對資料夾的層次遍歷和深度遍歷,不再詳細闡述。

MATLAB遍歷子資料夾及其下檔案

可以使用函式dir,d dir directory name 返回乙個結構陣列,包含了資料夾directory name下的子資料夾和子檔案的一些資訊,第1個成員是檔名,第4個成員表示是否為資料夾。要注意的是第1個陣列元素和第2個陣列元素分別是 和 表示當前目錄和上層目錄。clc clear mai...

C 遍歷資料夾及其子檔案(夾)

c 遍歷資料夾及其子檔案 夾 如下 int finder lpctstr pstr 一般檔案及資料夾 printf d s n i finder.getfilename bool bisdir finder.isdirectory if bisdir else end while finder.cl...

matlab遍歷資料夾

這又是個matlab程式,上次幫同學寫了個提取序列的函式,這次要能自動將資料夾中所有檔案自動的識別並建立對應的資料夾,資料夾名要和檔案中某個字段相同。tmp1 mkdir dir final system tmp1 資料夾建立完成 我試了下,用下面的函式系統就自動關機了,fun shutdown s...