normalizePath
Express File Paths in Canonical Form

### Description

Convert file paths to canonical form on the Unix or Windows platforms.

### Usage

    normalizePath(path, winslash="\\", mustWork = NA)

### Arguments

path | a character vector giving one or more path names.
winslash | a character string giving the path separator to use when forming canonical paths. On Windows, this argument must be the single string "/" or "\\". On Unix, this argument is ignored.
mustWork | a logical value specifying whether the files in path must exist. If NA (the default), a warning is generated for each file that does not exist. If TRUE, an error is generated if any of the specified files does not exist. If FALSE, no errors or warnings are generated.

### Details

The file paths are passed to path.expand to expand any leading tilde "~" character.
Any file paths that are relative paths are interpreted relative to the current working directory.
If a file path specifies an existing file or directory, the path is converted to an absolute path in the canonical form without "./" or "../" components. If a file path does not specify an existing file or directory, it is not changed.

- On the Unix platform, symbolic links in a file path are followed to produce the canonical path. Thus, if the file "~/aa" is a link to the file "/tmp", then normalizePath("~/aa/cc") produces "/tmp/cc" (if this file exists).
- On the Windows platform, short file names are converted to long file names.

Value
returns a character vector containing the canonical form of the file paths.
See Also
getwd, file.path, path.expand
Examples

    # on Windows, gives the user the directory using "/" path separator
    normalizePath("~","/")
    # gives absolute file name of "aa", if this file exists
    # otherwise just returns "aa"
    normalizePath("aa", mustWork=FALSE)
    # gives absolute file name of "aa", if this file exists
    # otherwise gives a warning and returns "aa"
    normalizePath("aa", mustWork=NA)

Package base version 6.1.5-18
Package Index