필터 지우기
필터 지우기

I wanted to copy dicom files from one place to another. But shows an error. How to fix it?

조회 수: 10 (최근 30일)
The programme is attached here.
  댓글 수: 1
Jan
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
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
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 CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by