MATLAB中文件的的批量删除、批量重命名、批量复制

matlab批量删除满足某种条件的影像

listing = dir('*.tif'); %通过dir函数,将所有数据名称列出来
NUM_DATA = length(listing);   %识别有多少个影像
for k=1:NUM_DATA
    filename = listing(k,1).name;%获取文件名
    data= imread(filename);
    data(data<=0)=0;%背景值设为NaN
    data(data>0)=1;%背景值设为NaN
    if  sum(data(:)==0)>1000        %0的个数大于1000的影像
        delete(filename);
    end
end

matlab批量重命名,例如:需要在文件名前加一个字符串"03"

listing = dir('*.hdr');   %通过dir函数,将所有数据名称列出来
NUM_DATA = length(listing);     %识别有多少个文件
A=num2str(0);
B=num2str(3);
C=[A B];                                                          %
for k=1:NUM_DATA
	filename = listing(k,1).name;                          %获取文件名
	newname = [C filename];                               %文件名前加03
	%newname=[filename(1:3) filename(7:10)];              %只保留文件名中 的头尾
	eval(['!rename' 32 filename  32 newname]);  %重命名
end

matlab批量复制、移动文件

filename='D:\new.init';  %原文件的完整文件名:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
for p=1:36
	STR1 = [num2str(p) '.init'];
	mkdir(STR);
	str1= ['D:\new\fenceng\dineof' STR1];%新文件的完整文件名:   
	filenamenew=str1;
	movefile(filename_ori,filenamenew);  % 移动文件:
	% copyfile(filename,filenamenew); % 复制文件:
 end

你可能感兴趣的:(matlab,matlab,矩阵)