2013-03-04 4 views
0

디렉토리 안에 이미지 파일 목록의 이름을 변경하고 다른 디렉토리에 이미지 파일을 저장하는 것과 관련하여 도움을 요청하고 싶습니다.파일 이름 바꾸기 Matlab

Dir1 = [Image-001.jpg, Image-002.jpg, Image-003.jpg,... 
     Image-004.jpg, Image-005.jpg, Image-006.jpg,... 
     Image-007.jpg, Image-008.jpg, Image-009.jpg,... 
     Image-010.jpg, Image-011.jpg, Image-012.jpg]; 

내가 두 개의 하위 디렉토리, Dir2라는 및 Dir3에서 이미지의 목록을 나누어 다음과 같이 예를 들어, 내가 이미지 목록을 보유하고있는 디렉토리에있는 Dir1을 보유하고 있습니다. Dir3에는 Dir1의 모든 세 번째 이미지가 포함됩니다. Dir2는 나머지 이미지를 포함합니다.

Dir2 = [Image-001.jpg, Image-002.jpg, Image-004.jpg,... 
     Image-005.jpg, Image-007.jpg, Image-008.jpg,... 
     Image-010.jpg, Image-011.jpg]; 

Dir3 = [Image-003.jpg, Image-006.jpg, Image-009.jpg, Image-012.jpg]; 

이제 Dir2라는 및 Dir3, Dir2라는의 파일 이름과 Dir3의 이미지에 일부 처리 후가된다 :

Dir2 = [Image-001.jpg, Image-002.jpg, Image-003.jpg,... 
     Image-004.jpg, Image-005.jpg, Image-006.jpg,... 
     Image-007.jpg, Image-008.jpg]; 

Dir3 = [Image-001.jpg, Image-002.jpg, Image-003.jpg,... 
     Image-004.jpg]; 

는 아무도 내가 Dir2라는 및 Dir3의 파일을 병합하는 방법을 말해 주시겠습니까 Dir1의 파일 이름 패턴으로 돌아갑니다. 즉, Dir3의 Image-001.jpg를 Image-003.jpg로 이름을 바꿔 Image-003.jpg가있는 Dir2의 세 번째 위치에 놓아야합니다. 그리고 Image-003.jpg와 나머지 Dir2의 이미지는 그에 따라 이름이 바뀝니다. Dir3에 Image-002와 같은 문제가 발생합니다.

문제를 명확하게 설명 할 수 없는지 문의하십시오. 어떤 도움이라도 대단히 감사 할 것입니다. Matlab 또는 C++의 샘플 코드는 큰 도움이 될 것입니다.

+1

쉘을 사용하여 명령 줄에서이 작업을 수행해야합니다. 이 Mac, Unix 또는 Windows입니까? –

+0

@luser droog에 동의합니다. 단지 14 개의 파일 인 경우 수동으로 수행하십시오. 번호가 더 큰 경우 원본 파일 이름을 유지하고 모든 것을 한 번 더 실행하는 절차를 수정하는 것이 좋습니다. –

+0

@luser droog : Mac을 사용하고 있습니다. @ Dedek Mraz : 300 개가 넘는 파일이 있습니다. – Tariq

답변

4

movefilecopyfile을 사용해야합니다. 상대 경로는 현재 작업 디렉토리에 대한 올바른 경우

예를 들어, Dir3에 당신이 dir3filenamedir1filename가 상대 경로 것을

for ii=1:4, 
    dir3filename = fullfile('Dir3', sprintf('Image-%03d.jpg', ii)); 
    dir1filename = fullfile('Dir1', sprintf('Image-%03d.jpg', 3*ii)); % new name 
    copyfile(dir3filename, dir1filename); 
end 

참고 할 수있는 코드에만 작동합니다. 절대 경로를 사용하도록 코드를 변경할 수 있습니다.

fullfilestring formatting을보고 싶을 수도 있습니다.

+1

+1 나를 교육 시켰습니다! –