利用matlab访问文件夹中的文件以及更改文件名
发布时间
阅读量:
阅读量
imgDir=dir('*.*');
for i=3:length(imgDir)
nameSplit=strsplit(imgDir(i).name,'_');
if length(nameSplit)>1
if strcmp( nameSplit{2}(1:2), 'IR')
eval(['!rename' 32 imgDir(i).name 32 [num2str(i-2) '_IR.bmp']]);
end
end
end
1.文件夹访问
访问文件夹中的子文件,*.*表示所有类型所有名称的文件名,
imgDir=dir('*.*');
使用dir函数后会得到struct类型的变量,使用.name就可以获取文件名了,需要注意的是,前两个是文件目录,在遍历的时候需要跳过


2.更改文件名
使用rename关键字对文件进行重命名,32表示空格的意思,这里感觉像个命令函数,通过Win10命令对文件进行操作
eval(['!rename' 32 imgDir(i).name 32 [num2str(i-2) '_IR.bmp']]);
详细解释一下:
eval:执行命令
!rename:重命名
32:空格
imgDir(i).name:获取第i个文件的文件名
num2str(i-2):将(i-2)这个数字转化为字符串类型
[num2str(i-2) '_IR.bmp']:这样写就可以得到类似“6_IR.bmp”的字符串
['!rename' 32 imgDir(i).name 32 [num2str(i-2) '_IR.bmp']]:这样写就类似于让系统执行
“!rename pic.bmp 6_IR.bmp” 这个命令
全部评论 (0)
还没有任何评论哟~
