2014-01-26 3 views
0

200 개의 JPEG 이미지가있는 디렉토리가 있습니다. 내가 원하는 것은이 모든 이미지의 이름을 바꾸는 것입니다. 그렇다면 어떻게 내 모든 이미지의 이름을 동시에 바꿀 수 있습니까? 예를 들어 첫 번째 이미지의 이름을 "hello1", 두 번째 "hello2", 세 번째 이미지의 이름은 "hello3"> 200의 경우 "hello200"로 변경합니다.디렉토리의 모든 이미지의 이름을 바꾸는 방법

아래 코드는 다음과 같습니다.

maximagesperdir = inf; 
directory='imagess'; 
dnames = {directory}; 
fprintf('Reading images...'); 
cI = cell(1,1); 
    c{1} = dir(dnames{1}); 
    if length(c{1})>0, 
    if c{1}(1).name == '.', 
     c{1} = c{1}(4:end); 
    end 
    end 
    if length(c{1})>maximagesperdir, 
    c{1} = c{1}(1:maximagesperdir); 
    end 
    cI{1} = cell(length(c{1}),1); 
    for j = 1:length(c{1}), 
    cI{1}{j} = double(imread([dnames{1} '/' c{1}(j).name]))./255; 
    end 
fprintf('done.\n'); 
+2

시도 http://www.mathworks.com/matlabcentral/answers/1760-how-to-rename-a-bunch-of-files-in-a-folder – Leo

+0

항상있다. [자신에게 두 가지 문제를 부여하는] 옵션 (http://www.mathworks.co.uk/help/matlab/ref/regexprep.html)도 있습니다. – Notlikethat

답변

1

현재 디렉토리의 모든 파일의 이름을 바꾸려면 코드가 표시되고 이름이 변경된 것 같습니다. 그냥 파일을 이름을 찾고 및 이미지에 대해 작업을 수행 한 후 이름을 변경하지 않으면

fnames = dir('*.jpg'); 
for i = 1:length(fnames) 
    old_name = fnames(i).name; 
    new_name = sprintf('hello%d.jpg', i); 
    movefile(old_name, new_name) 
end 
0

항상 가지고 유용한 작은 일이 총 지휘관 프로그램이있다. 모든 파일을 선택하고 ctrl + m을 사용하여 이름을 바꿀 방식 (날짜, 이름 등)을 선택합니다. 이름 바꾸기 작업을 거의 수행하지 않으면 매우 간단합니다. 나는 단지 말하고있다 ...

관련 문제