Extract files with the same names in subfolders and save them into a new folder with a different name
53 views (last 30 days)
Show older comments
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
2 Comments
Accepted Answer
per isakson
on 15 Apr 2022
%%
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.
More Answers (0)
See Also
Categories
Find more on Low-Level File I/O 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!