how to select range of files

prompt1 = '\nplease enter the starting serial number\n';
first_SN = input(prompt1);
prompt2 = '\nplease enter the ending serial number\n';
ending_SN = input(prompt2);
prompt3 = '\nplease enter the step size\n';
step = input(prompt3);
temp_directory = dir;
size(temp_directory)
class(first_SN)
b = 1;
a=first_SN;
while a <= ending_SN %%%builds list of serial numbers
SN{b}= num2str(a);
b = b+1;
a = a+step;
end
for c = 3:size(temp_directory)
temp_directory(c).name
isempty(strfind(SN, temp_directory(c).name)) % at this point is just copying the files from the temp dir
if isempty(strfind(SN, temp_directory(c).name)) ~= 1 % how my i have it just select the range of SN numbers
serial_number_folders(c).name = temp_directory(c).name;
end
end
end

2 Comments

What is your question? What is the purpose of your code?
how may i have it just select the range of SN numbers if i have a list of SN00001 - SN10000
how can i set a range of SN50 to SN100

Sign in to comment.

 Accepted Answer

You need to parse your filename to get the serial number (string) into a number (double). Then you can use an if inside your for loop to skip numbers outside the range
for k = 1 : numFiles
thisFileName =
serialNumber = ParseFilename(thisFileName);
if serialNumber < minSerialNumber || serialNumber > maxSerialNumber
continue; % Skip this file.
end
% else process the file.
end

3 Comments

Hi how do i parse the file ?? is parse a fuction of matlab ??
splitstr??
Tell me what a typical file name is and tell me what characters in the filename represent the serial number. Or is the serial number inside the file, not a part of it's file name?

Sign in to comment.

More Answers (0)

Categories

Find more on Aerospace Blockset 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!