What is the order when calling a directory?

2 vues (au cours des 30 derniers jours)
Zeynab Mousavikhamene
Zeynab Mousavikhamene le 14 Oct 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 commentaire
Rik
Rik le 14 Oct 2019
You mean the output order for dir? For uigetdir?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 14 Oct 2019
Modifié(e) : Walter Roberson le 14 Oct 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".

Plus de réponses (0)

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by