clear; % 清除所有變量
clc; % 清屏
Files = dir('D:\\data\\');% 讀取D:\data\目錄下所有文件夾名,例如文件夾20100101。
Files = Files(3:end);
Newfile='D:\\Newdata';
% 文件重命名
for i = 1 : length(Files) % 文件夾循環,即20100101-20100331
OldName_1 = Files(i).name; % 讀取文件夾名
SubFiles = dir(strcat('D:\\data\\',Files(i).name,'\\','*.grib2')); % 讀取文件夾下所有的文件名,例如gfs.t00z.pgrbf00.grib2
for j = 1 : length(SubFiles) % 對每個文件進行重命名
OldName_2 = SubFiles(j).name; % 讀取文件名
temp = str2num(OldName_2(6:7)) + str2num(OldName_2(15:16)); % 取出文件名中數字進行相加
NewName = strcat('AV',OldName_1(3:8),num2str(temp,'%02d'),'.grib2');% 新文件名
MyCommand = ['!ren',' ','D:\data\',OldName_1,'\',OldName_2,' ',NewName];
eval(MyCommand);% 替換文件名
copyfile(strcat('D:\data\',OldName_1,'\',NewName),Newfile);
end
end