I wanted to copy dicom files from one place to another. But shows an error. How to fix it?
2 次查看(过去 30 天)
显示 更早的评论
The programme is attached here.
1 个评论
Jan
2017-12-30
Without seeing the error message, the readers cannot know, what's going wrong. The screenshots are not really helpful to clarify details.
回答(1 个)
Star Strider
2017-12-30
In Windows, the dir command will usually return the first two values as dots, not a file name. When I run this code:
fnames = dir;
for i=1:length(fnames)
folder=fnames(i).name
end
the first two values for ‘folder’ are:
folder =
'.'
folder =
'..'
See if setting your for loop to begin at 3 instead will help:
for i = 3:length(fnames)
You have not stated the error, so this is a guess as to what the problem actually is.
2 个评论
Star Strider
2017-12-30
I suspect it is throwing the error on the asterisk, since it interprets that a a wildcard, and is interpreting ‘i’ as a character, further complicating your code:
fna=dir([folder,'\3D\','i*','.dcm']);
↑
It is likely better to use sprintf than (incorrectly) concatenating the strings.
Try this:
fna = dir(sprintf('%s\\3D\\%d.dcm', folder, i));
Remember that the first two values for ‘folder’ are not valid file names, so consider something like this:
for i = 3:length(fnames)
folder = fnames(i).name;
fna = dir(sprintf('%s\\3D\\%d.dcm', folder, i-2));
...
end
Experiment to get the result you want.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!