A question about list folder contents with dir
2 次查看(过去 30 天)
显示 更早的评论
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?
采纳的回答
Dyuman Joshi
2024-1-26
编辑:Dyuman Joshi
2024-1-26
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 个评论
Image Analyst
2024-1-26
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
2024-1-26
Note that
d = dir;
d = d(~[d.isfolder]);
would remove . and .. and all folders, leaving only regular files.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!