24小时热门版块排行榜    

CyRhmU.jpeg
查看: 675  |  回复: 1
当前主题已经存档。

fspdlh

金虫 (正式写手)

[交流] 【原创】MATLAB修改文件名已有1人参与

用MATLAB做的一个修改一个文件夹和它的子文件夹名称的程序,共享之,就是把文件名中的一个字符串用另一个字符串代替,其中的文件夹中各文件遍历方法我觉得是可以借鉴的。

是否修改子文件夹中的文件名由第四个变量决定,1则修改,空值不修改。
function RenameFiles(old_string,new_string,filepath,varargin)
%Rename files

%--------------------------------------------------------------------------
%Paraments Initialization
%Rename subfolder files or not
if nargin==3
    sub_tag=0;
elseif nargin==4 && isequal(varargin{1}(,'s')
    sub_tag=1;
else
    error('Input paraments sum error');
end
%filepath initialization   
if filepath(end)=='\'
    filepath=filepath(1:end-1)
end
%--------------------------------------------------------------------------
%Rename current folder
files=dir(filepath);
for i=1:size(files)
    filename=files(i).name;
    if ~isempty(strfind(filename,old_string))
        newfilename=strrep(filename,old_string,new_string);
        movefile(cat(2,filepath,'\',filename),cat(2,filepath,'\',newfilename));
    end
end
%--------------------------------------------------------------------------
%Rename subfolder
if sub_tag==1
    for i=1:size(files)
        if files(i).isdir==1 && files(i).name(1)~='.'
            newfilepath=cat(2,filepath,'\',files(i).name);
            RenameFiles(old_string,new_string,newfilepath,'s');
        end
    end
end
%--------------------------------------------------------------------------
end%End of function RenameFile
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ylzhang508

金虫 (小有名气)

学习一下
2楼2010-04-08 13:40:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fspdlh 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见