A question about list folder contents with dir
    8 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi,
I used uigetdir and dir to list all subfolders with the following code:
path_dir=uigetdir('C:\Documents','Select a folder');
list_folder=dir(path_dir);
allFolder_list={list_folder.name};
But the names in the list have two dot files, which don't exist actually in the folder. What are they and how to remove them?

1 commentaire
Réponse acceptée
  Dyuman Joshi
      
      
 le 26 Jan 2024
        
      Modifié(e) : Dyuman Joshi
      
      
 le 26 Jan 2024
  
      This notation is used in filesystems (and anywhere they are implemented/used) - 
. refers to the current directory/folder.
.. refers to the parent directory/folder. This can also be used to access the parent directory/folder.
(search for dot dot on this webpage - https://in.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html)
For example, if your directory is C:\Users\Bob, . refers to C:\Users\Bob and .. refers to C:\Users.
To remove them - 
d=dir;
d=d(~ismember({d.name},{'.','..'}));
2 commentaires
  Image Analyst
      
      
 le 26 Jan 2024
				Years ago I made the suggestion to them to have additional inputs to dir to list files only and folders only.  You can too -- just give it a star rating at the bottom of the help entry for dir.  I just did it again.  I can't believe it's taking them so long to implement this simple option but it depends on how many people are asking for it.
  Walter Roberson
      
      
 le 26 Jan 2024
				Note that
d = dir;
d = d(~[d.isfolder]);
would remove . and .. and all folders, leaving only regular files.
Plus de réponses (0)
Voir également
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!



