relative_path: Get the relative path of a path relative to a directory

View source: R/paths.R

relative_pathR Documentation

Get the relative path of a path relative to a directory

Description

Given a directory, return the relative path that is relative to this directory. For example, the path ‘foo/bar.txt’ relative to the directory ‘foo/’ is ‘bar.txt’, and the path ‘/a/b/c.txt’ relative to ‘/d/e/’ is ‘../../a/b/c.txt’.

Usage

relative_path(x, dir = ".", use.. = TRUE, error = TRUE)

Arguments

x

A vector of paths to be converted to relative paths.

dir

Path to a directory.

use..

Whether to use double-dots (‘..’) in the relative path. A double-dot indicates the parent directory (starting from the directory provided by the dir argument).

error

Whether to signal an error if a path cannot be converted to a relative path.

Value

A vector of relative paths if the conversion succeeded; otherwise the original paths when error = FALSE, and an error when error = TRUE.

Examples

xfun::relative_path("foo/bar.txt", "foo/")
xfun::relative_path("foo/bar/a.txt", "foo/haha/")
xfun::relative_path(getwd())

xfun documentation built on Nov. 17, 2022, 1:06 a.m.