我有一个像这样的目录树结构:
.
|-Root
|---Folder1
|---Folder2
|------SubFolder1
|------SubFolder2
文件夹可能包含文件,但我只对列出文件夹文件感兴趣。
在上面的示例中,我正在寻找的是:
Root/Folder1
Root/Folder2/SubFolder1
Root/Folder2/SubFolder2
我尝试了list.dirs("Root", recursive = TRUE)
,但它返回:
Root
Root/Folder1
Root/Folder2
Root/Folder2/SubFolder1
Root/Folder2/SubFolder2
在现实生活中,我的目录结构当然比这个例子更大。
答案 0 :(得分:2)
根据其他答案和评论,我提出了这个问题:
{{1}}
答案 1 :(得分:1)
也许不是最有效的方式,但它应该有效:
getPathLeaves <- function(path){
children <- list.dirs(path, recursive = FALSE)
if(length(children) == 0)
return(path)
ret <- list()
for(child in children){
ret[[length(ret)+1]] <- getPathLeaves(child)
}
return(unlist(ret))
}
用法:
getPathLeaves("Root")