Extract files with the same names in subfolders and save them into a new folder with a different name
조회 수: 66(최근 30일)
표시 이전 댓글
I have .png files with the same name stored in different folders. My goal is to rename and copy them into a new folder. The following code just saves the last image in the new folder. I am not able to figure out how to save PNG files with incremental values in name. I would appreciate any help. Thanks in advance.
myFolder = 'current folder path';
filePattern = fullfile(myFolder, '**/*.png');
theFiles = dir(filePattern);
numFiles = length(theFiles);
outputFolder = 'new folder path';
for K = 1 : numFiles
baseFileName = theFiles(K).name;
fullFileName = fullfile(theFiles(K).folder,baseFileName);
limages = imread(fullFileName);
fullFileName = fullfile(outputFolder, theFiles(K).name);
imwrite(limages,fullFileName);
end
채택된 답변
per isakson
2022년 4월 15일
%%
myFolder = 'current folder path';
filePattern = fullfile(myFolder,'**','*.png');
theFiles = dir(filePattern);
numFiles = length(theFiles);
outputFolder = 'new folder path';
mkdir( outputFolder )
for K = 1 : numFiles
source_file = fullfile( theFiles(K).folder, theFiles(K).name );
target_name = sprintf( '%s_%03d.png', theFiles(K).name, K ); % less than 999 files
target_file = fullfile( outputFolder, target_name );
copyfile( source_file, target_file );
end
And some error handling and testing.
추가 답변(0개)
참고 항목
범주
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!