Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2010-05-13, 17:27   #1
pyt
初级会员
 
注册日期: 2010-05-13
年龄: 45
帖子: 1
声望力: 0
pyt 正向着好的方向发展
默认 循环读取多个文件夹内的文件问题

作为测试,我想输出所有文件夹内的文件名但是出现错误,读取文件时发生错误,说文件不存在。但是当不需要读文件,只是计算所有文件夹里的文件数量时,程序是正确的,是不是 fid = fopen([r,filename(j).name],'r') 写的不对?

我的文件夹都是以日期命名的。

fileall=[]
a1 = datenum('2007-07-01'); %2007/07/01
a2 = datenum('2007-12-31'); %2008/12/31
for i = a1:1:a2
k = datestr(i,'yyyymmdd');
r = sprintf('E:\\Nimrod\\%s\\%s\\%s',k(1:4),k(5:6),k(7:8));
filename=dir([r '\*.dat'])
flength=length(filename)

for j=1:flength
fid = fopen([r,filename(j).name],'r');
if fid == -1
error('File does not exists');
end

DateMy_Year=filename(j).name(16:19);
DateMy_Month=filename(j).name(20:21);
DateMy_Day=filename(j).name(22:23);
DateMy_Hour=filename(j).name(25:26);
DateMy_Minute=filename(j).name(27:28);
DateNow=[DateMy_Year ' ' DateMy_Month ' ' DateMy_Day ' ' DateMy_Hour ' ' DateMy_Minute];
DateAdd=str2num(DateNow);

fileall=[fileall;DateAdd]
end
end

save fileall.txt fileall -ascii
pyt 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 11:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.