|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
问题:如何找到某个文件夹下一种类型的所有文件的文件名,并保存到workspace的变量中。
解决要点:
key 1:使用dos命令dir可以列出所有的文件,dir *.m就可以列出所有扩展名为.m的文件,因此,可以考虑使用dos命令来解决。matlab中实现的命令如下
[status,result] = dos('dir *.m');
key 2: result是一个字符串,需要从中挑取出文件名来,使用正则表达式。
filelist=regexp(result,'\w*?\.m','match');
返回的filelist就是包含所有.m文件名的元胞数组(cell array)。
为了通用,改写成如下的函数形式:
- function filelist=somefilelist(dir,ext)
- % filelist=filelist=somefilelist(dir,ext)
- % pick up all files with extent name 'ext', and in the dictionary % specified as 'dir'
- % Exampe: filelist=somefilelist('c:\matlab','m');
- % author Zhang Fujian.
- % email: zhangfujijan@gmail.com
- % Dec. 4, 2007
- if dir(length(dir))~='\' dir=[dir,'\']; end
- [status,result] = dos(['dir ',dir,'*.',ext]);
- filelist=regexpi(result,['\w*?\.',ext],'match');
复制代码
have fun!
[ 本帖最后由 sogooda 于 2007-12-4 15:00 编辑 ] |
评分
-
1
查看全部评分
-
|