R/recursiveDeleteEmptyDirs.R

## Utility for recursively deleting empty directories
## 
## Author: Matthew D. Furia <matt.furia@sagebase.org>
##############################################################################

.recursiveDeleteEmptyDirs <-
  function(root, deleteTopLevel=TRUE)
{
  dirs <-setdiff(dir(root, all.files = T, include.dirs = T), c(".", ".."))
  dirs <- dirs[file.info(file.path(root, dirs))$isdir]
  lapply(dirs, function(thisDir) .recursiveDeleteEmptyDirs(file.path(root, thisDir)))
  
  contents <- setdiff(dir(root, all.files = TRUE, include.dirs=TRUE), c(".", ".."))
  if(length(contents) == 0L && deleteTopLevel)
    unlink(root, recursive=T)
  invisible(NULL)
}
Sage-Bionetworks/rSynapseClientRewrite documentation built on May 9, 2019, 7:06 p.m.