How to change .txt format automatically into .m format

103 ビュー (過去 30 日間)
Tao Lu
Tao Lu 2017 年 1 月 12 日
回答済み: Younes Oudich 2024 年 8 月 8 日
Dear all:
I have a lot of .txt files which I want to change them automatically into .m format files, in order for some later processing in Matlab.
Any guide will be very appreciated.
  1 件のコメント
Are Mjaavatten
Are Mjaavatten 2017 年 1 月 13 日
You can do this by sending the appropriate command to the operating system. In Windows:
!ren *.txt *.m
will rename all *.txt files in your working directory to *.m

サインインしてコメントする。

回答 (3 件)

Sibghat
Sibghat 2024 年 2 月 28 日
移動済み: Steven Lord 2024 年 2 月 28 日
try the following...
% Define the directory containing the .txt files
directory = 'path/to/your/files/';
% List all .txt files in the directory
txtFiles = dir(fullfile(directory, '*.txt'));
% Loop through each .txt file
for i = 1:numel(txtFiles)
% Get the file name and extension
[~, filename, ext] = fileparts(txtFiles(i).name);
% Generate the new file name with .m extension
newFilename = [filename '.m'];
% Rename the file
movefile(fullfile(directory, txtFiles(i).name), fullfile(directory, newFilename));
% Display confirmation message
disp(['Converted ' txtFiles(i).name ' to ' newFilename]);
end
It will search the folder for text files and will change the format to M-file...

Bhupesh Soni
Bhupesh Soni 2020 年 4 月 19 日
!ren *.txt *.m
  6 件のコメント
Walter Roberson
Walter Roberson 2024 年 2 月 28 日
The MacOS and Linux equivalent
!mv *.txt *.m
would try to expand all (existing) files ending in .txt and all files ending in .m, as-if they had been typed into the command -- for example as-if it had been entered
!mv file1.txt file2.txt file3.txt rename_my_files.m rename_helper.m
the last of the .m files would then be interpreted as the target file to move everything else to... so first file1.txt would be moved to rename_helper.m then file2.txt would be moved to rename_helper.m and so on, until finally rename_my_files.m would be renamed to rename_helper.m -- leaving you with just rename_helper.m with content the old rename_my_files.m
Unfortunately, the unix way of doing this rename is notably more messy.
Alexander
Alexander 2024 年 2 月 28 日
Thank you for this explanation. To be honest, the time I used unix is more than 30 years ago. I only remembered that "ren" is not a c-shell command. Hopefully is annoyed by my comment.

サインインしてコメントする。


Younes Oudich
Younes Oudich 2024 年 8 月 8 日
I think the easiest way is to use the "movefile" command with a for loop
for i=1:N_files % number of files
movefile(['file_number' str2num(i) '.txt'], ['file_number' str2num(i) '.m']) ; %This will convert them directly from .txt to .m and it can also be applied to other extensions
end

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by