Selecting Files Within Subfolders

5 views (last 30 days)
Naomi Gaggi
Naomi Gaggi on 18 Oct 2018
Commented: Naomi Gaggi on 18 Oct 2018
Hi, I have written the code:
>> path = {'/Users/Naomi/Desktop/GroupAnalysis/sub1/STRUC'};
>> movefile('s0-0007-00001-000001-01.nii', 'T1.nii')
Error using movefile
mv: rename /Users/naomi/Desktop/GroupAnalysis/s0-0007-00001-000001-01.nii to
/Users/naomi/Desktop/GroupAnalysis/T1.nii: No such file or directory
And I am receiving the above error message. Why is my file not being selected in the STRUC subfolder even if I am indicating it in the path?

Answers (2)

Image Analyst
Image Analyst on 18 Oct 2018
Do not overwrite path, the built-in variable or you will have problems.
Make sure the file exists. It's telling you your source file is not there.
  5 Comments
Image Analyst
Image Analyst on 18 Oct 2018
Yes you can. But it's best not to use cd and to just use the full file name when you call movefile(). See the FAQ: https://matlab.wikia.com/wiki/FAQ#Where_did_my_file_go.3F_The_risks_of_using_the_cd_function.
Also, use exist(sourceFileName, 'file') before you call movefile() to make sure it exists first.
And, AGAIN DO NOT USE path AS THE NAME OF YOUR VARIABLE or you will regret it. I can't emphasize that enough.

Sign in to comment.


Jan
Jan on 18 Oct 2018
Instead of using cd to modify the current folder, it is safer to use absolute paths:
for k = 1:10
Folder = sprintf('/Users/Naomi/Desktop/GroupAnalysis/sub%d/STRUC', k);
movefile(fullfile(Folder, 's0-0007-00001-000001-01.nii'), ...
fullfile(Folder, 'T1.nii'));
end
  1 Comment
Naomi Gaggi
Naomi Gaggi on 18 Oct 2018
Thank you! The program created a folder T1.nii within the folder STRUC, is there a way to change the file name rather than create a folder name?

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!