MATLAB批量文件重命名(详细解释)
2015-11-19 00:03
197 查看
这段时间在用matlab做手写数字识别,处理样本的时候需要对样本文件进行重命名,可是有好多,总不能一个一个重命名吧,于是上网百度了好多,不过大多都一样,但是没有解释,只有干巴巴的程序,弄了好一会才弄清楚(我太菜了……),于是写下了以备后用。
假设我有0.bmp,1.bmp,2.bmp……,99.bmp100个bmp图像文件,出于某种需要我要在名字前加上一个“RH_”字符串,代码如下
首先用dir函数获得工作目录下所有bmp文件信息,返回的file是一个结构体,里面包含了文件名、修改时间等信息,我们用的就是第一个域名字name,接着获得bmp文件的个数,然后就是一个循环,用strcat函数将“RH_”与原文件名连接起来,然后重点就是这个eval函数的用法,查看eval函数的帮助可以知道,这个函数实际上就是执行将括号里表达式中的matlab代码(eval(EXPRESSION) evaluates the MATLAB code in the string EXPRESSION),“!”的意思是调用Windows系统函数(Linux下好像是将rename改为system),比如这里的rename函数,实际上eval括号里的意思就是这样,只不过是调用的系统函数,32是ASCII码,表示空格,你也可以使用逗号代替
好了,又是十二点了,就到这吧,欢迎交流!
假设我有0.bmp,1.bmp,2.bmp……,99.bmp100个bmp图像文件,出于某种需要我要在名字前加上一个“RH_”字符串,代码如下
file = dir('*.bmp'); len = length(file); for i = 1 : len oldname = file(i).name; newname = strcat('RH_', oldname); % '!'的意思是调用系统函数,32是ASCII码值,表示空格 eval(['!rename' 32 oldname 32 newname]); end
首先用dir函数获得工作目录下所有bmp文件信息,返回的file是一个结构体,里面包含了文件名、修改时间等信息,我们用的就是第一个域名字name,接着获得bmp文件的个数,然后就是一个循环,用strcat函数将“RH_”与原文件名连接起来,然后重点就是这个eval函数的用法,查看eval函数的帮助可以知道,这个函数实际上就是执行将括号里表达式中的matlab代码(eval(EXPRESSION) evaluates the MATLAB code in the string EXPRESSION),“!”的意思是调用Windows系统函数(Linux下好像是将rename改为system),比如这里的rename函数,实际上eval括号里的意思就是这样,只不过是调用的系统函数,32是ASCII码,表示空格,你也可以使用逗号代替
rename oldname newname
好了,又是十二点了,就到这吧,欢迎交流!
相关文章推荐
- 人脸识别---光照预处理(Opencv代码和Matlab代码)
- 每天一点matlab——字符分割
- 对matlab中colormap的解释及fill、imshow的用法说明
- matlab函数
- matlab图形着色
- MATLAB 常用命令
- Ubuntu下Matlab 2014 快捷键修改
- matlab练习程序(寻找凸包,Graham扫描法)
- matlab代码注释技巧
- matlab:读取mp4文件,并把逐帧保存成图片文件,文件名的编号随帧数变化
- MATLAB 基本小函数用法
- Matlab环境下使用Libsvm
- matlab 复制图片到另一个文件夹 并且重命名
- 灰度共生矩阵GLCM及其matlab实现
- matlab:clear,close,clc
- Matlab函数bwmorph简介
- Matlab 实现对码功能
- 每天一点matlab——图像与图形的区别
- matlab图像处理为什么要归一化和如…
- 图像增强(MATLAB)