본문 바로가기

Enginius/Matlab

Rename bunch of files in Matlab


위와 같이 엄청나게(?) 많은 파일들이 있을 때, 이 파일들의 이름을 한번에 변경하려면 어떻게 해야할까? 


% query: posOnly~ / posNegBoth~ / posOnlyDense~ / posOnlyVeryDense~

% new: pos30 / pos20neg10 / pos200 / pos500

query = 'posOnlyVeryDense';

new = 'pos500';

files = dir(['mat_naviResult/' query '_*.mat']);

fprintf('%d files. \n', size(files, 1));

for i = 1:size(files, 1)

    currName = files(i).name;

    newName = [new, currName(length(query)+1:end)];

    movefile(['mat_naviResult/' currName], ['mat_naviResult/' newName]);

end


구조는 간단하다. 즉 해당 파일에 공통되게 들어있는 이름을 가지고 검색을 하고, 해당 이름을 movefile 명령어를 이용해서 변경해서 바꾼다.