MATLAB Answers

0

How to create new file in another folder?

Asked by nagasai thumati on 20 Aug 2019 at 9:50
Latest activity Commented on by Joel Handy on 20 Aug 2019 at 17:57
I have got 2 files namely DCM file and text file.I have to compare the parameters in text file and Dcm file and if those parameters presented, then I have to copy the parameters from DCM file to another new file. I have already written the code in such a way it will do this. But I have create the new file in another folder . How can I do this?

  3 Comments

Joel Handy on 20 Aug 2019 at 10:04
Are you asking how to create a folder or how to write to a file outside of your working directory? To open a file for writing outside of your working directory, you just need to supply the full path.
fid = fopen('C:\MyFolderA\MyFolderB\MyFile.txt', 'w+')
To make a new folder is pretty similar.
mkdir('C:\MyFolderA\MyFolderB')
mkdir will make all the necessary folders on the supplied path.
You can also do relative paths where you give a path relative to your working path. If you weer working in C:\MyFolderA and you called
mkdir('MyFolderB\MyFolderC')
It would create C:\MyfolderA\MyFolderB and C:\MyfolderA\MyFolderB\MyFolderC
Thank you. It's creating the new file. But it is not able to read this file when I gave its path to another function. Is there any command for that?
Joel Handy on 20 Aug 2019 at 17:57
There are lots of commands for that. Can you be more specific when you say the other function can't read the file? Do you get an error? Do you get unexpected results? What code have you tried so far?

Sign in to comment.

1 Answer

Answer by Stephen Cobeldick on 20 Aug 2019 at 9:59
Edited by Stephen Cobeldick on 20 Aug 2019 at 10:02
 Accepted Answer

" But I have create the new file in another folder . How can I do this?"
All MATLAB functions that read/write to data files accept absolute/relative filenames, so you just need to add a relative/absolute path to the filename. You can easily create the complete filename using fullfile.
D = 'C:\somedir\subdir';
N = 'myfile.txt';
fid = fopen(fullfile(D,N),'wt');
...
fclose(fid)

  0 Comments

Sign in to comment.