How to add a variable to a filename while renaming it

26 次查看(过去 30 天)
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

采纳的回答

Stephen23
Stephen23 2017-3-7
编辑:Stephen23 2017-3-7
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 个评论
Anantha Padmanabhan
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by