2011-09-02 44 views

回答

18

使用dir()獲取文件名列表。您可以指定通配符。

4

你可以使用

fileName=ls('*xyz')

文件名變量將擁有所有你可以在使用循環

+2

小心,[LS](http://www.mathworks.de/help/techdoc/ref/ls.html)返回在Windows不同的語法或Unix! –

+0

這將爲文件名填充空格並使它們長度相等,這不太好。 – LWZ

+1

@LWZ:不必要的空間可以使用標準strtrim函數刪除。 –

25

正如其他人已經提到的,你應該使用DIR功能在目錄中列出文件的文件名列表。

如果你還在尋找,這裏是展示如何使用該功能的例子:

dirName = 'C:\path\to\folder';    %# folder path 
files = dir(fullfile(dirName,'*.xyz')); %# list all *.xyz files 
files = {files.name}';      %'# file names 

data = cell(numel(files),1);    %# store file contents 
for i=1:numel(files) 
    fname = fullfile(dirName,files{i});  %# full path to file 
    data{i} = myLoadFunction(fname);  %# load file 
end 

當然,你必須提供實際讀取並分析XYZ文件的功能。

0

這裏是我的回答:

dirName = 'E:\My Matlab\5'; 
[sub,fls] = subdir(dirName); 
D = []; 
j = 1; 
for i=1:length(sub), 
    files{i} = dir(fullfile(sub{i},'*.xyz')); 
    if length(files{i})==1 
     D(j) = i; 
     files_s{j} = sub{i}; 
     j=j+1; 
    end 
end 

varaible files_s返回包含這些特定的數據類型的願望路徑!

的子目錄功能,可以發現在: http://www.mathworks.com/matlabcentral/fileexchange/1492-subdir--new-

相關問題