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 = uigetdir( 『選擇乙個資料夾』 );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可以方便的通過對話方塊選擇資料夾,返回值為資料夾路徑名。**如下:
上面的例子比較簡單,只涉及到兩層目錄以及指定格式的檔案。
對於多層目錄,以及多種格式檔案的處理,則可以採用[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...