R.utils (version 2.1.0)

getRelativePath: Gets the relative pathname relative to a directory

Description

Gets the relative pathname relative to a directory.

Usage

## S3 method for class 'default':
getRelativePath(pathname, relativeTo=getwd(), caseSensitive=NULL, ...)

Arguments

pathname
A character string of the pathname to be converted into an relative pathname.
relativeTo
A character string of the reference pathname.
caseSensitive
If TRUE, the comparison is case sensitive, otherwise not. If NULL, it is decided from the relative path.
...
Not used.

Value

  • Returns a character string of the relative pathname.

Non-case sensitive comparison

If caseSensitive == NULL, the relative path is used to decide if the comparison should be done in a case-sensitive mode or not. The current check is if it is a Windows path or not, that is, if the relative path starts with a device letter, then the comparison is non-case sensitive.

Details

In case the two paths are on different file systems, for instance, C:/foo/bar/ and D:/foo/, the method returns pathname as is.

See Also

getAbsolutePath(). isAbsolutePath().

Examples

Run this code
getRelativePath("foo", "foo")                       # "."
  getRelativePath("foo/bar", "foo")                   # "bar"
  getRelativePath("foo/bar", "foo/bar/yah")           # ".."
  getRelativePath("foo/bar/cool", "foo/bar/yah/sub/") # "../../cool"
  getRelativePath("/tmp/bar/", "/bar/foo/")           # "../../tmp/bar"

  # Windows
  getRelativePath("C:/foo/bar/", "C:/bar/")           # "../foo/bar"
  getRelativePath("C:/foo/bar/", "D:/bar/")           # "C:/foo/bar"

Run the code above in your browser using DataCamp Workspace