MATLAB对文件进行批量重命名

来源:互联网 发布:windws10固态硬盘优化 编辑:程序博客网 时间:2024/05/01 07:59

http://blog.sciencenet.cn/blog-412191-615814.html

对文件夹中所有文件重命名

但是此程序只能对当前目录下的文件进行转换(?)

clear allclcfilename=uigetfile('*.*', 'MultiSelect', 'on');for i=1:length(filename)    oldname=filename{i};    newname=['PR' filename{i}(1:3) '_' filename{i}(5:end)];<span style="color: rgb(51, 102, 153); font-family: Monaco, Consolas, 'Lucida Console', 'Courier New', serif; line-height: 21.6000003814697px;"> % newname是绝对不能有路径的</span>    [status,result]=system(['rename'  ' ' oldname  ' ' newname]);    if status==0        disp(['Rename ' oldname ' sucessfully!'])    else        disp([oldname ' Error!'])    endend

接下来的这段代码可以转换各个文件夹下的文件

http://www.ilovematlab.cn/thread-438167-2-1.html



clearclc[filename, pathname, filterindex] = uigetfile( ...{%  '*.mat','Models (*.mat)'; ...   '*.*',  'All Files (*.*)' }, ...   'Pick the image files', ...   'MultiSelect', 'on');if ischar(filename)    filename = {filename};endfor i=1:length(filename)    oldname = [pathname filename{i}];    % select=[15:27,29];     select=[1];
    if( strcmp(filename{i}( length(filename{i})-3:end),'.gif')==1 )        subject = filename{i}(1:9);        middle = filename{i}(11: length(filename{i})-4 );    else        subject = filename{i}(1:9);        middle = filename{i}(11: length(filename{i}) );    end    if(isempty(middle))        newname = strcat(subject, middle, '.bmp');    else        newname = strcat(subject,'_', middle, '.bmp');    end   % newname = [filename{i}(1) '.mat'];    % 此处是第一处错误,zype1128指出    % newname是绝对不能有路径的    cmd=['rename ',oldname,' ', newname];    status = system(['rename ',oldname,' ', newname]);    % 此处是第二处错误,版主kaaaf123指出    % 系统命令应该是rename oldname newname    % 注意空格    if status==0        disp(['文件 '  oldname  ' 重命名成功'])    else        disp(['文件 ' oldname  ' 重命名失败'])    endend


0 0
原创粉丝点击