How to change file extension via matlab?

165 views (last 30 days)
Hello,
I have a question. I would like to change the extension of several files. I mean that in one directory a I have many files in type file1.out., file2.out ,..., file600.out.
I would like to rename these files to *.txt (I mean file1.txt, file2.txt,...., file600.txt) in this directory with one command via matlab?
Could anyone help me?

Accepted Answer

Adam Danz
Adam Danz on 2 Apr 2020
Edited: Adam Danz on 27 Jan 2021
This shows how to
  1. List all files in a given directory with the extension .out
  2. Copy the file and rename the extention .txt
  3. Delete the .out file (commented out)
% Enter the directory to search
directory = 'C:\Users\name\Documents\MATLAB';
% List all .out files
fileList = dir([directory, '\*.out']);
% Loop through each .out file, copy it and give new extension: .txt
for i = 1:numel(fileList)
file = fullfile(directory, fileList(i).name);
[tempDir, tempFile] = fileparts(file);
status = copyfile(file, fullfile(tempDir, [tempFile, '.txt']))
% Delete the .out file; but don't do this until you've backed up your data!!
% delete(file)
end
*Not tested
  5 Comments

Sign in to comment.

More Answers (2)

Femke Cappon
Femke Cappon on 27 Jan 2021
Thank you, I have used to code to rewrite LabVIEW .lvm files to .txt

Musaddiq Al Ali
Musaddiq Al Ali on 6 Dec 2020
Edited: Musaddiq Al Ali on 6 Dec 2020
Mr. Adam Danz's code is vey nice and neat. I like it. I would like to suggest, to add '\' to the secound lines of the code:-
fileList = dir([directory,'\','*.out']);
  2 Comments
Stephen23
Stephen23 on 6 Dec 2020
Even better would be to use the correct function for the job:
fileList = dir(fullfile(directory,'*.out'));

Sign in to comment.

Categories

Find more on Get Started with MATLAB 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!