Changing the names of text files in a directory

4 views (last 30 days)
I have 400 files in a directory called NAIC that are named like this: 7488311dbf9821f9.txt.001 is it possible to rename using matlab to naic1.txt till naic400.txt?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 27 Jul 2011
Copy all your files to a folder named '\test' under current folder, run the following code.
Folder=fullfile(pwd,'test');
Files=dir(Folder);
for k=1:length(Files)
[PathStr,FileName,FileExt]=fileparts(Files(k).name);
if length(FileExt)==4 % Exclude folder . and folder ..
movefile(fullfile(Folder,Files(k).name),...
fullfile(Folder,['naic',FileExt(2:end),'.txt']));
end
end

More Answers (2)

Nathan Greco
Nathan Greco on 27 Jul 2011
Maybe this will do? (Run this under your NAIC directory.)
Assuming you are on a windows machine:
files = dir('*.txt.*');
names = {files.name}
for i=1:length(names)
oldfilename = names{i};
newfilename = sprintf('naic%d.txt',str2num(oldfilename(end-2:end)));
system(['ren ' oldfilename ' ' newfilename]);
end
OR (shouldn't matter what system you're on):
files = dir('*.txt.*');
names = {files.name}
for i=1:length(names)
oldfilename = names{i};
newfilename = sprintf('naic%d.txt',str2num(oldfilename(end-2:end)));
movefile(oldfilename,newfilename);
end

Walter Roberson
Walter Roberson on 27 Jul 2011
Use movefile() in conjunction with the information in this FAQ

Categories

Find more on Characters and Strings 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!