我在matlab中有函數(帶有一個實際調用函數的包裝),遞歸地查找計算機上給定HDD中的所有.mat文件。在每次返回時,它都會給出特定文件夾中的文件,因爲驅動器上的數百個文件夾(按日期組織)有數百個返回。在Matlab中遞歸函數的返回列表
我想使這些文件的一個列表(或矩陣),以便另一個腳本可以使用此列表來完成它的工作。
實際返回結構列表(包含文件信息的字段)。 返回值總是一個寬度和一個長度,具體取決於文件夾中有多少個文件。
總之,我想知道如何獲取遞歸函數的所有返回並將它們放入一個列表/矩陣。
任何提示將不勝感激! 謝謝
function direc = findDir(currentDir)
dirList = dir(currentDir);
if 2 == length(dirList)
direc = currentDir
files = dir([currentDir '*.mat'])
return
end
dirList = dirList(3:length(dirList));
fileListA = dir([currentDir '*.mat']);
if 0==isempty(fileListA)
direc = currentDir
files = dir([currentDir '*.mat'])
return
end
for i=1:length(dirList)
if dirList(i).isdir == 1
[currentDir dirList(i).name '\'];
findDir([currentDir dirList(i).name '\']);
end
end
end
請澄清你的問題是什麼,併發布你使用的相關代碼。要做到這一點,編輯您的問題 – 2014-10-10 19:48:14
謝謝,我是新手。 – jdrudds 2014-10-10 20:11:10
也許您在尋找[this](http://stackoverflow.com/a/2654459/1586200)。修改特定類型的文件很容易,在你的情況下,'.mat'。 – 2014-10-10 20:17:26