Selecting Files Within Subfolders

조회 수: 18 (최근 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.
Naomi Gaggi
Naomi Gaggi 2018년 10월 18일
Thanks a lot!!

댓글을 달려면 로그인하십시오.


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