Clear Filters
Clear Filters

How to add a variable to a filename while renaming it

26 views (last 30 days)
I have a code that reads a bunch of .text files which are of the format "experiment_date_time" which is created by a measurement device. So a typical file name would look like
"Experiment_yyyymmdd_hhmmss.txt"
Sometimes due to an error in my device internal clock, the measurement are made at weird seconds and not 00 and this a problem when I try to load the files. My question is how do I rename a filename for just the last 2 characters? I tried this so far,
files=dir(''); for the file location
%run each file through loop and rename
for i=1:length(files)
[pathname,filename,extension] = fileparts(files(i).name);
filename=filename(1:end-2)
how do I append two zeros to the file name?
Here I want to read the file name and replace the last two characters with zero. How do I do this?
Thanks, Ananth

Accepted Answer

Stephen23
Stephen23 on 7 Mar 2017
Edited: Stephen23 on 7 Mar 2017
Untested, but this should get you started:
ptx = ''; % directory path
S = dir(fullfile(ptx,'*.txt'));
for k = 1:numel(S)
[~,old,ext] = fileparts(S(k).name);
new = sprintf('%s00',old(1:end-2));
fpo = fullfile(ptx,[old,ext]);
fpn = fullfile(ptx,[new,ext]);
movefile(fpo,fpn)
end
  1 Comment
Anantha Padmanabhan
Anantha Padmanabhan on 7 Mar 2017
Hi, the code seems to work and the only change i had to make was to create a new directory to save the new files in
fpo = fullfile(ptx,[old,ext]);
fpn = fullfile(ptx1,[new,ext]);
movefile(fpo,fpn)
Thank you

Sign in to comment.

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!