mixing string name and number,is my commmand correct??

1 view (last 30 days)
Hi All
Since I just dont remember and dont know how to search for this question
would like to know
for naming the file as :
for i=1:100
delete('filename'+num2str(i))
end
is it correct ?

Accepted Answer

Image Analyst
Image Analyst on 17 Oct 2014
I'd recommend you follow the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F because your method is not very robust. I prefer sprintf(). If you're not going to use, or can't use, dir() to get a listing of what files are there, then at least you should use exist() so you don't throw an exception that aborts your loop when the file is not found. That is what people do when they write robust code.
for k = 1 : 100 % Use k, not i (the imaginary variable)
baseFileName = sprintf('filename%d', k);
% Prepend the folder where the files live.
% If it's the current folder, then you can use folder = pwd.
fullFileName = fullfile(folder, baseFileName);
if exist(fullFileName, 'file')
% If the file exists, delete it.
delete(fullFileName);
end
end
but again, see the FAQ for better code examples than that.
  4 Comments
farzad
farzad on 17 Oct 2014
and also , where do I put the .extension of the filename in the base or full file name , I mean , how should it look like ?
Adam
Adam on 17 Oct 2014
If you put the extension on the baseFileName it will the get included correctly in the fullFileName.
%d is a placeholder for an integer which gets replaced by the value of k each time round the loop (look at formatSpec in the help for sprintf for other options here if you are interested in general, but %d is the correct one for this case)

Sign in to comment.

More Answers (2)

Claude Porlier
Claude Porlier on 17 Oct 2014
Try using this !
for i=1:100
delete(strcat('filename',num2str(i)))
end
Cheers !
  1 Comment
farzad
farzad on 17 Oct 2014
Thanks a lot , I still have a question that I put in the end , if you do a favor check , thanks a lot

Sign in to comment.


farzad
farzad on 17 Oct 2014
I got a bit confused , Since I have two file types : one is like :
file1.txt.i
the other
file2i.rec
in both , the letter "i" is the changing number , so I need to know in all of the methods you have proposed , hwo should I call them, I am getting some errors
thank you very much in advance

Tags

Community Treasure Hunt

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

Start Hunting!