%%%%%批量对文件进行重命名,每次处理len个文件,并将各个文件之间的对应命名关系输出在"先看我.txt"文件中%%%%%%
clc
clear
%%设置当前新的分钟数和秒数
minutes = '20';%%%%%%%%%%%%%%%%%%设置当前分钟数,字符型
seconds = '25_';%%%%%%%%%%%%%%%%%%设置当前秒数,字符型
ms = strcat(minutes, seconds);%将新设置的分钟和秒数拼接
files= dir('C:\Users\Administrator\Desktop\data1\*.dat');%%%%%%%%%%%%%%%%%%这个是文件存放的绝对路径
len = length(files); % 获取当前文件的长度
for i = 1: len % 开始循环
oldname = files(i).name; % 获取当前dat文件的名字
a = sprintf('%02d',i); % %类似01命名的文件
temp = num2str(a); % 将数字转换为字符串
idex = char('.dat'); % 后缀名
newname1 = strcat(temp, idex); % 将序号和后缀利用strcat函数进行字符串连接
oldname1 = oldname(1:length(oldname)-12);%将文件后缀、序号、秒数、分钟数去除
newname2 = strcat(oldname1, ms);%将新设置的文件分钟数和秒数与原文件名字拼接
newname3 = strcat(newname2, newname1);%%最终得到新的文件新的名字
%newname = strcat(temp, idex); % 利用strcat函数进行字符串连接
command = ['rename' 32 oldname 32 newname3]; % 使用命令进行重命名
status = dos(command); % 调用dos命令
%%将文件的对应关系导入至当前文件夹的.txt文件中
duiying = [oldname, '-->', newname3];
dlmwrite('先看我.txt',duiying,'-append','delimiter','','newline','pc'); % 写入文本对应信息
if status == 0
disp([oldname, '重命名', newname3]);
else
disp([oldname, '命名失败'])
end
end
结果输出: