Selecting Files Within Subfolders

13 次查看(过去 30 天)
Naomi Gaggi
Naomi Gaggi 2018-10-18
评论: Naomi Gaggi 2018-10-18
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?

回答(2 个)

Image Analyst
Image Analyst 2018-10-18
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 个评论
Image Analyst
Image Analyst 2018-10-18
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.

请先登录,再进行评论。


Jan
Jan 2018-10-18
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 个评论
Naomi Gaggi
Naomi Gaggi 2018-10-18
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by