basename
removes all of the path up to and including the last
path separator (if any). dirname
returns the part of the path
up to but
excluding the last path separator, or "."
if there is no path
separator.
basename(path)
dirname(path)
path
. A zero-length
input will give a zero-length output with no error.Paths not containing any separators are taken to be in the current
directory, so dirname
returns "."
.If an element of path
is NA
, so is the result.""
is not a valid pathname, but is returned unchanged.
\
or /
as the path
separator, but dirname
will return a path using /
(except if on a network share, when the leading \\
will be
preserved). Expect these only to be able to handle complete
paths, and not for example just a network share or a drive. UTF-8-encoded path names not valid in the current locale can be used.dirname
tilde expansion of the path is done. Trailing path separators are removed before dissecting the path,
and for dirname
any trailing file separators are removed
from the result.
file.path
, path.expand
.
basename(file.path("","p1","p2","p3", c("file1", "file2")))
dirname(file.path("","p1","p2","p3","filename"))
Run the code above in your browser using DataLab