Rename multiple files by substituting specific characters

Hi all,
i have multiple .csv files, ordered and named following this scheme:
file.0.csv, file.1.csv, file.2.csv, etc.
i do have a problem while using:
files = dir('*.csv');
if I give the command:
files.name
I get this wrong order:
file.0.csv, file.1.csv, file.10.csv, file.100.csv, file.101.csv, etc.
I suppose the problem is the dot after "file", so I'd like to rename all files by substituting the dots with something else (underscore for example) to fix the issue.
Anyone can help me?
Thanks in advance

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2013년 12월 6일
files = dir('*.csv');
[~,ii] = sort(cellfun(@(x)sscanf(x,'file.%d.csv'),{files.name}));
file_sorted = files(ii);

추가 답변 (0개)

카테고리

질문:

EK
2013년 12월 6일

댓글:

EK
2013년 12월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by