rename files from subfolders

조회 수: 4 (최근 30일)
Balaji M. Sontakke
Balaji M. Sontakke 2020년 2월 14일
댓글: Balaji M. Sontakke 2020년 2월 14일
I have a folder that contain 10 subfolders each subfolder contains 4 images named 1.bmp,2.bmp,3.bmp,4.bmp, I want to rename those images to 9.bmp,10.bmp,11.bmp,12.bmp like that how i can?

채택된 답변

Bhaskar R
Bhaskar R 2020년 2월 14일
Get all files structure to one variable
cd <your directory>
d = dir('**/*.bmp')
Apply loop to get every file to structure
filename_full = fullfile(d(loop variable).folder, d(loop variable).name);
[~, filename, ext] = fileparts(filename_full);
check file names use ifelse condition
if strcmp(filename, '1');
filename = '9' % so to all other 3 files
end
concatanate all string to form renamed path
filename_full_ren = fullfile(d(loop variable).folder,[filename, ext]);
then rename file by moving
movefile(filename_full, filename_full_ren);
You are done
  댓글 수: 5
Bhaskar R
Bhaskar R 2020년 2월 14일
for ii = 1:4 % you have written for 4 files i think change for loop count as
end
for ii = 1:length(d) % change to this
Balaji M. Sontakke
Balaji M. Sontakke 2020년 2월 14일
yes it works, thanks
cd testn;
d = dir('**/*.bmp');
for ii = 1:length(d) % change to this
filename_full = fullfile(d(ii).folder, d(ii).name);
[~, filename, ext] = fileparts(filename_full);
if strcmp(filename,'1')
filename = '9';
elseif strcmp(filename,'2')
filename = '10';
elseif strcmp(filename,'3')
filename = '11';
elseif strcmp(filename,'4')
filename = '12';
end
filename_full_ren = fullfile(d(ii).folder,[filename, ext]);
movefile(filename_full, filename_full_ren);
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Search Path에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by