Learn R Programming

Require (version 0.0.6)

normPath: Normalize filepath

Description

Checks the specified filepath for formatting consistencies: 1) use slash instead of backslash; 2) do tilde etc. expansion; 3) remove trailing slash.

Usage

normPath(path)

# S4 method for character normPath(path)

# S4 method for list normPath(path)

# S4 method for `NULL` normPath(path)

# S4 method for missing normPath()

Arguments

path

A character vector of filepaths.

Value

Character vector of cleaned up filepaths.

Examples

Run this code
# NOT RUN {
## normalize file paths
paths <- list("./aaa/zzz",
              "./aaa/zzz/",
              ".//aaa//zzz",
              ".//aaa//zzz/",
              ".\\\\aaa\\\\zzz",
              ".\\\\aaa\\\\zzz\\\\",
              file.path(".", "aaa", "zzz"))

checked <- normPath(paths)
length(unique(checked)) ## 1; all of the above are equivalent

## check to see if a path exists
tmpdir <- file.path(tempdir(), "example_checkPath")

dir.exists(tmpdir) ## FALSE
tryCatch(checkPath(tmpdir, create = FALSE), error = function(e) FALSE) ## FALSE

checkPath(tmpdir, create = TRUE)
dir.exists(tmpdir) ## TRUE

unlink(tmpdir, recursive = TRUE)
# }

Run the code above in your browser using DataLab