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

 Respuesta aceptada

files = dir('*.csv');
[~,ii] = sort(cellfun(@(x)sscanf(x,'file.%d.csv'),{files.name}));
file_sorted = files(ii);

Más respuestas (0)

Categorías

Más información sobre Verification, Validation, and Test en Centro de ayuda y File Exchange.

Preguntada:

EK
el 6 de Dic. de 2013

Comentada:

EK
el 6 de Dic. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by