What is the order when calling a directory?

2 visualizaciones (últimos 30 días)
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 14 de Oct. de 2019
Editada: Walter Roberson el 14 de Oct. de 2019
I call a directory which is a folder cotaining several files and then I use for loop to do specific calculatuions on each file in that folder.
I wanted to know in what order does matlab parse each of those files (by alphabette?size?)? and can user detremine the order?
  1 comentario
Rik
Rik el 14 de Oct. de 2019
You mean the output order for dir? For uigetdir?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 14 de Oct. de 2019
Editada: Walter Roberson el 14 de Oct. de 2019
MATLAB uses whatever order is returned by the operating system.
It happens that in MS Windows, and MacOS, and Linux, that the operating system does not impose an order. Instead, the operating system leaves it up to the file system driver, so the order for NTFS could be different than the order for FAT16 for example.
I have not found any documentation on the order used by NTFS. In practice it appears to sort either by byte code representation of the name or else by unicode code point. Apple's HFS+ has an ordering based upon "fully decomposed canonical representation" in theory but in practice the ordering apparently has some bugs. Most of the Linux file systems do not define an order, and I recently encountered a claim that one of the Linux file systems sorts according to a hash of a file name.
The user has no control over the order in any of the operating systems.
You might want to look in the File Exchange for "natural filename sort".

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by