Rename files after a certain string in the file itself appears

조회 수: 3 (최근 30일)
Gianluca Regina
Gianluca Regina 2022년 4월 27일
댓글: Gianluca Regina 2022년 4월 27일
Dear MatLab users,
I have a bunch of files in a folder I need to rename. Basically, I want to delete the first 5 or 6 characters of the filename, those before a certain string. However, I do not know when this occurs, so I need to code it using something like strfind, but haven't managed to do it. Below is the code I have so far:
files_csv = dir('*.csv');
for i = 1 : length(files_csv)
baseFileName = files_csv(i).name;
%newFileName = baseFileName(6:end);
copyfile( baseFileName , newFileName )
end
Instead on newFileName = baseFileName(6:end), which only deletes the first 6 characters, I need to retain the characters after the string "PGA" appears.
Thanks

채택된 답변

Jan
Jan 2022년 4월 27일
An explicit example would be useful: old name and new name.
Maybe:
files_csv = dir('*.csv');
for i = 1 : length(files_csv)
baseFileName = files_csv(i).name;
newFileName = extractAfter(baseFileName, "PGA");
copyfile( baseFileName , newFileName )
end
  댓글 수: 1
Gianluca Regina
Gianluca Regina 2022년 4월 27일
Oh, sorry about that. Nevertheless, your adjustment works perfectly, thank you very much! For future reference, I attach the screenshot of the result of your code.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by