Advertisement

利用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)

还没有任何评论哟~