Create folders in matlab and move into files via loop
이전 댓글 표시
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?
답변 (1개)
Sai Sri Pathuri
2020년 5월 30일
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
Ivan Mich
2020년 5월 30일
Sai Sri Pathuri
2020년 5월 30일
편집: Sai Sri Pathuri
2020년 5월 30일
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
2020년 5월 30일
Sai Sri Pathuri
2020년 5월 31일
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
2020년 6월 1일
Sai Sri Pathuri
2020년 6월 1일
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
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!