Create folders in matlab and move into files via loop
Show older comments
Hello,
I am making via a loop 4 .txt files. I would like to create 4 files and move each one of 4.txt files in these 4 folders (I mean each folder would have one .txt files).
How could I make it?
Answers (1)
Sai Sri Pathuri
on 30 May 2020
You may try the following
for i =1:4
currentFolder = sprintf('Folder%d',i);
mkdir(currentFolder)
cd(currentFolder)
fileID = fopen('FileName.txt','w');
% Write to file
cd ..
end
6 Comments
Ivan Mich
on 30 May 2020
Sai Sri Pathuri
on 30 May 2020
Edited: Sai Sri Pathuri
on 30 May 2020
You may still use this code. Add the code related to creation of files at the place of Create the file comment.
for i =1:4
currentFolder = sprintf('Folder%d',i);
mkdir(currentFolder)
cd(currentFolder)
% Create the file
cd ..
end
If this doesn't help, Can you share your loop?
Ivan Mich
on 30 May 2020
Sai Sri Pathuri
on 31 May 2020
Try the following code
for n=1:numel(st);
for i=1:size(nam);
% Uncomment below line to create folder for each m*.text file
% currentFolder = sprintf('Folder%d%d',n,i);
% mkdir(currentFolder)
% cd(currentFolder)
FP=fopen(sprintf('m%g0.txt',i),'wt');
fprintf(FP,'%s\t',num2str(Results));
fclose(FP);
% cd ..
D = 'absolute/relative path to where the files are saved';
N = 25; % number of files
C = cell(1,N);
for k = 1:N
F = fullfile(D,sprintf('m%u.txt',k));
C{k} = dlmread(F);
end
M = vertcat(C{:});
% Create a folder for each final.txt
currentFolder = sprintf('FinalFolder%d%d',n,i);
mkdir(currentFolder)
cd(currentFolder)
dlmwrite('final.txt',M,'\t')
cd ..
end
end
Ivan Mich
on 1 Jun 2020
Sai Sri Pathuri
on 1 Jun 2020
Yes, you may replace dlmwrite with writematrix
writematrix(M,'final.txt','Delimiter','tab')
Refer the below links for replacing dlmwrite and dlmread with writematrix and readmatrix respectively
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!